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