禁用 ipad 网页应用程序中的垂直弹跳效果



有没有办法在滚动div中禁用反弹效果?

到目前为止,我已经尝试了这些方法,但没有一个奏效。请帮忙!

如何在移动Web应用程序中禁用iPhone上的垂直反弹/滚动

无法使用 UIScrollView 和分页禁用反弹已启用 = 是

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 类,则它将门设置为 true 以允许它通过。

在触摸端,您将门重置为 false。

这适用于IOS5和6,并且可以在Chrome和Safari
中工作。
看看@这篇文章来扩展它
滚动 DIV 元素时如何防止页面滚动?

唯一的问题是,如果您过度滚动可滚动元素,弹性效果允许在滚动设置为 true 时向上传递到树上。手动设置滚动位置会被可怕的反弹效果覆盖。
我敢打赌,那些苹果冰箱有一个原生的滚动实现,在设定的超时内运行,每一步都硬连线。

因此,如果您滚动到 -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;

最新更新