iOS:-webkit溢出滚动:触摸并滚动顶部

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

本文关键字:滚动 顶部 触摸 溢出 -webkit iOS      更新时间:2023-09-26

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

我把-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);

参考:此SO答案。(修改了它们的实现,以消除桌面浏览器上滚动条重绘的抖动(