浏览器触底判断(添加防抖)

2022-08-11 19:05:34 浏览数 (1)

废话不多说,直接上代码!

代码语言:javascript复制
function moveToBrowserBottom() {
  let timerForDebounce = null; //为了防抖添加的timer
  window.onscroll = function() {
    if (timerForDebounce) clearTimeout(timerForDebounce);
    var scrollTop =
      document.documentElement.scrollTop ||
      window.pageYOffset ||
      document.body.scrollTop;
        // gap是为了计算偏差,有时候会有1px的偏差值
    let gap =
      Math.ceil(document.documentElement.clientHeight   scrollTop) -
      document.documentElement.scrollHeight;  
    if (
      document.documentElement.scrollHeight ===
        Math.ceil(document.documentElement.clientHeight   scrollTop) ||
      gap === 1
    ) {
      timerForDebounce = setTimeout(() => {
        console.log("触底了");
      }, 200);
    }
  };
}

0 人点赞