2

我一直试图找到这个问题的答案,但没有成功。

我正在为 MobileSafari 中的 webview 编写一些网页。我无权访问 Objective-C 以这种方式禁用该功能。

我想提供流畅的滚动页面体验或正常的滚动页面体验,但不允许用户拖过页面的顶部或底部,随后导致它显示空白并“反弹”回来。

有没有好的解决方案?

谢谢你。

4

2 回答 2

3

看看iScroll 4(和演示)。它是用于在固定宽度/高度区域中滚动内容的框架。但它也应该可以解决您的问题,因为您可以禁用反弹效果。

如何禁用反弹效果在“PASSING PARAMETERS TO THE ISROLL”中进行了说明。这两个参数应该很有趣:

  • 弹跳,启用/禁用边界外的弹跳。默认值:真。
  • fixedScrollbar,在 iOS 上,当您拖动滚动条边界时,滚动条会缩小。将此设置为 true 可防止滚动条移出可见区域(根据 Android)。默认值:在 Android 上为 true,在 iOS 上为 false。

更新

我刚刚偶然发现Nicescroll一个替换浏览器滚动的 jQuery 插件。默认情况下它不会反弹,但您可以打开或关闭它。

于 2013-05-03T23:33:08.770 回答
0

似乎滚动脚本如下:

不适用于每个 DOM 结构。或者至少不是更复杂的。我不知道为什么,但我无法将它们应用于您的代码或其他一些随机网页。

但我创建了一个小的 javascript 帮助器,它禁用反弹效果并模拟滚动动画。

noBounce.js

在这里你可以找到一个例子

它很容易导入,因为它没有依赖项。只需添加到您的 HTML:

<script src="js/noBounce.js" type="text/javascript"></script>

并在您的 javascript 中的某处运行:

noBounce.init({preventDefault: false, animate: true});

你需要设置preventDefault: false. 否则您的按钮将不再起作用。

于 2013-05-08T22:24:05.033 回答