- 使用requestAnimationFrame()方法来优化滚动事件的性能。该方法将在每次浏览器绘制前调用回调函数,从而最大限度地减少动画帧之间的延迟。以下是代码示例:
function scrollHandler() {
// your scroll code
}
let ticking = false;
window.addEventListener('scroll', function(e) {
if (!ticking) {
window.requestAnimationFrame(function() {
scrollHandler();
ticking = false;
});
}
ticking = true;
});
- 将touchmove事件替换为passive:true的滚动事件。这可能会提高滚动性能并防止滚动延迟。以下是代码示例:
document.addEventListener('touchstart', function(e) {
// your touchstart code
}, { passive: true });
document.addEventListener('touchmove', function(e) {
// your touchmove code
}, { passive: true });