我一直试图找到这个问题的答案,但没有成功。
我正在为 MobileSafari 中的 webview 编写一些网页。我无权访问 Objective-C 以这种方式禁用该功能。
我想提供流畅的滚动页面体验或正常的滚动页面体验,但不允许用户拖过页面的顶部或底部,随后导致它显示空白并“反弹”回来。
有没有好的解决方案?
谢谢你。
我一直试图找到这个问题的答案,但没有成功。
我正在为 MobileSafari 中的 webview 编写一些网页。我无权访问 Objective-C 以这种方式禁用该功能。
我想提供流畅的滚动页面体验或正常的滚动页面体验,但不允许用户拖过页面的顶部或底部,随后导致它显示空白并“反弹”回来。
有没有好的解决方案?
谢谢你。
看看iScroll 4(和演示)。它是用于在固定宽度/高度区域中滚动内容的框架。但它也应该可以解决您的问题,因为您可以禁用反弹效果。
如何禁用反弹效果在“PASSING PARAMETERS TO THE ISROLL”中进行了说明。这两个参数应该很有趣:
更新
我刚刚偶然发现Nicescroll一个替换浏览器滚动的 jQuery 插件。默认情况下它不会反弹,但您可以打开或关闭它。
似乎滚动脚本如下:
不适用于每个 DOM 结构。或者至少不是更复杂的。我不知道为什么,但我无法将它们应用于您的代码或其他一些随机网页。
但我创建了一个小的 javascript 帮助器,它禁用反弹效果并模拟滚动动画。
在这里你可以找到一个例子。
它很容易导入,因为它没有依赖项。只需添加到您的 HTML:
<script src="js/noBounce.js" type="text/javascript"></script>
并在您的 javascript 中的某处运行:
noBounce.init({preventDefault: false, animate: true});
你需要设置preventDefault: false
. 否则您的按钮将不再起作用。