我在尝试回到列表顶部时遇到了一些麻烦。
我放在-webkit-overflow-scrolling:touch
列表中以获得动量滚动。但是,当我scrollTop();
在动量滚动仍在进行时使用 jQuery 时,它会跳到顶部,但不会停止动量。所以它继续下跌,直到势头结束。
有没有简单的方法来停止动量滚动?
我在尝试回到列表顶部时遇到了一些麻烦。
我放在-webkit-overflow-scrolling:touch
列表中以获得动量滚动。但是,当我scrollTop();
在动量滚动仍在进行时使用 jQuery 时,它会跳到顶部,但不会停止动量。所以它继续下跌,直到势头结束。
有没有简单的方法来停止动量滚动?
将列表的-webkit-overflow-scrolling
样式设置为'auto'
,然后'touch'
在短暂超时后返回。
IE
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。(修改了他们的实现以摆脱桌面浏览器上的滚动条重绘抖动)