iOS:-webkit-overflow-scrolling:touch和scrollTop

时间:2015-07-05 11:39:28

标签: javascript jquery ios scroll momentum

我在尝试回到列表顶部时遇到了一些麻烦。

我将-webkit-overflow-scrolling:touch放在列表上以获得动量滚动。 然而,当我使用jQuery scrollTop();而动量滚动仍在进行时,它会跳到顶部,但它并没有停止动量。所以它一直在下降,直到势头结束。

是否有一种简单的方法可以阻止动量滚动?

1 个答案:

答案 0 :(得分:4)

将列表的-webkit-overflow-scrolling样式设置为'auto',然后在短暂超时后返回'touch'

let scrollContainer = document.getElementById('yourListId');

scrollContainer.style['-webkit-overflow-scrolling'] = 'auto';  // stop scroll

setTimeout(function() {
       scrollContainer.scrollTop = 0;  // or jQuery scrollTop()
       scrollContainer.style['-webkit-overflow-scrolling'] = 'touch'; // re-enable
}, 2);

参考:this SO answer。 (修改了它们的实现以摆脱桌面浏览器上的滚动条重绘)#/ p>