尝试返回列表顶部时遇到一些麻烦。
我将-webkit-overflow-scrolling:touch
放在列表上以获得动量滚动。
但是,当我使用jQuery scrollTop();
且动量滚动仍在进行时,它会跳到顶部,但不会停止动量。因此它继续下降直到动量结束。
有一种简单的方法可以阻止动量滚动吗?
最佳答案
将列表的-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。 (修改了其实现,以消除滚动条在桌面浏览器上的重绘问题)