JavaScript監聽滾動條停止滾動


需求:當滾動條滾動時將x元素隱藏掉,當滾動條停止滾動時再將元素x顯示出來。

let scrollTop = 0;
let scrollEndTop = 0;
let timer = null;

document.onscroll = function() {
  clearTimeout(timer);
  timer = setTimeout(isScrollEnd, 500);
  scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
}

function isScrollEnd() {
    scrollEndTop = document.documentElement.scrollTop || document.body.scrollTop;
    if(scrollTop === scrollEndTop){
        console.log('滾動條停止滾動');
    }
}

tips:在控制元素x顯隱時,我使用的是v-show,沒有使用v-if,一方面元素x經常顯隱切換影響性能;另一方面,如果使用v-if,會是元素x重新執行生命周期鈎子,會導致元素x的element_show埋點誤報(重復上報)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM