js如何监听滚动结束

该文章发布于 ,归类于 Javascript

没有现成的scrollEnd事件可以拿来就用,那么,怎么监测滚动已经结束了呢?

可以用setTimeout来处理模拟滚动结束。

let scrollTimer;
document.addEventListener("scroll", () => {
  clearTimeout(scrollTimer);
  scrollTimer = setTimeout(() => {
    // todo something scroll end
  }, 300);
});

如果在滚动中,scrollTimer这个定时任务一直不会被执行,只有滚动停止300毫秒后才会触发,从而达到监测滚动结束的目的。

相关文章