我有一个phonegap应用程序,该应用程序使用iOS本机在div中的-webkit-overflow-scrolling中滚动。我希望能够在用户单击按钮时手动停止正在进行的滚动(以滚动回到页面顶部)。这可行吗?

最佳答案

使用fastclick.js时,这实际上是很有可能的。 lib消除了移动设备上300ms的单击延迟,并启用了惯性/动量滚动过程中的事件捕获。

包含fastclick并将其附加到body元素后,我的代码停止滚动并转到顶部,如下所示:

scrollElement.style.overflow = 'hidden';
scrollElement.scrollTop = 0;
setTimeout(function() {
  scrollElement.style.overflow = '';
}, 10);

诀窍是设置overflow: hidden,以停止惯性/动量滚动。请参阅我的小提琴以获得stop scrolling during inertia/momentum的完整实现。

关于javascript - 以编程方式停止-webkit-overflow-scrolling,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14770891/

10-17 00:05