js如何监听滚动结束

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

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

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

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

如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注