2

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

我放在-webkit-overflow-scrolling:touch列表中以获得动量滚动。但是,当我scrollTop();在动量滚动仍在进行时使用 jQuery 时,它会跳到顶部,但不会停止动量。所以它继续下跌,直到势头结束。

有没有简单的方法来停止动量滚动?

4

1 回答 1

4

将列表的-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。(修改了他们的实现以摆脱桌面浏览器上的滚动条重绘抖动)

于 2016-02-17T01:54:37.210 回答