需求:當滾動條滾動時將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埋點誤報(重復上報)。