我在尝试回到列表顶部时遇到了一些麻烦。
我将-webkit-overflow-scrolling:touch
放在列表上以获得动量滚动。
然而,当我使用jQuery scrollTop();
而动量滚动仍在进行时,它会跳到顶部,但它并没有停止动量。所以它一直在下降,直到势头结束。
是否有一种简单的方法可以阻止动量滚动?
答案 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>