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

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

我在尝试返回列表顶部时遇到了一些问题。

我把-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。 (修改了它们的实现以消除桌面浏览器上的滚动条重绘抖动)