簡體   English   中英

禁用ipad網絡應用中的垂直反彈效果

[英]Disable vertical bounce effect in an ipad web app

有沒有辦法在滾動div中禁用反彈效果?

到目前為止,我已經嘗試過這些東西,但都沒有效 請幫忙!

如何在移動Web應用程序中禁用iPhone上的垂直反彈/滾動

無法使用UIScrollView和pagingEnabled = YES禁用退回

ipad safari:禁用滾動和彈跳效果?

滾動時禁用UITableView垂直反彈

http://www.iphonedevsdk.com/forum/iphone-sdk-development/996-turn-off-scrolling-bounces-uiwebview.html

謝謝!

如果您使用的是Cordova 1.7,只需打開Cordova.plist文件並將關鍵UIWebViewBounce設置為NO即可

打開phoneGap項目的config.xml文件,將UIWebViewBounce從默認值true更改為false:

    <preference name="UIWebViewBounce" value="false" />

無法想象為什么默認是真的......

根據您的評論,您正在使用的代碼是完全禁用滾動。 如果你想滾動,但沒有彈跳效果,嘗試這樣的事情:

var xStart, yStart = 0;

document.getElementById("scrollableDiv").addEventListener('touchstart',function(e) {
    xStart = e.touches[0].screenX;
    yStart = e.touches[0].screenY;
});

document.getElementById("scrollableDiv").addEventListener('touchmove',function(e) {
    var xMovement = Math.abs(e.touches[0].screenX - xStart);
    var yMovement = Math.abs(e.touches[0].screenY - yStart);
    if((yMovement * 3) > xMovement) {
        e.preventDefault();
    }
});

我在這里找到了解決方案。 請讓我知道這對你有沒有用。

這將幫助您將.scroll類放在您希望仍然滾動的元素上。

發生的事情是默認情況下禁用所有觸摸移動。 如果要滾動的元素上有.scroll類,則它將gate設置為true以允許它通過。

在觸摸結束時,您將門重置為false。

這適用於IOS5和6,可以在Chrome和Safari中使用

看@這篇文章來擴展它
滾動DIV元素時如何防止頁面滾動?

唯一的問題是,如果你過度滾動可滾動元素,彈性效果允許滾動在樹上向上傳遞,而滾動設置為true。 手動設置滾動位置會被可怕的反彈效果覆蓋。
我敢打賭那些Apple frigger在設定的時間內有一個本地滾動運行實現,每個步驟都是硬接線的。

因此,如果你滾動到-20,我認為它很難將每一步連接成一個循環而不檢查它的位置。 按順序滾動到-20 -19 -18等。

我們必須想辦法解決這個問題! (實際上輸入它我有一個想法!)

$(function(){
  var scroll = false
  var scroll_element;
  $('body').on('touchmove',function(e){
      if(!scroll){
      e.preventDefault()
      }
  })
  $('body').on('touchend',function(e){
      scroll = false
  })  
  $('.scroll').on('touchstart',function(e){
      scroll_element = this
      scroll = true
  })  
})

我知道這可能不是最好的方式,但它有效。

這是我做的 -

#scrollableDiv {
    position:fixed;
    top:50px;
    width:300px;
    height:500px;
    word-wrap: break-word;
    overflow-y: scroll; 
}

document.getElementById("scrollableDiv").innerHTML = longText;
document.getElementById("scrollableDiv").scrollTop = 0;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM