今天做了個導航欄,客戶要求的效果是當頁面下滾時導航欄消失,上滾時導航欄出現(xiàn)。以下是代碼:
$(document).ready(function(){
var p=0,t=0;
$(window).scroll(function(e){
p = $(this).scrollTop();
if(t<=p){//下滾
// console.log('down');
$('.nav').css({
display:'none'
})
}
else{//上滾
// console.log('up');
$('.nav').css({
display:'block'
})
}
console.log(p+'---'+t)
// t=p;
setTimeout(function(){t = p;},0);
});
});
代碼是從網(wǎng)上找的,本人試了,把定時器注釋掉,用t=p也可以做到同樣的效果,不知道原創(chuàng)為什么要用這個定時器,本人分析以下(不知道對不對,勿噴,只是提供一種思路),因為定時器是異步的,又因為js是單線程,所以運行到定時器的時候,會把定時器里的回調(diào)推入到另一個執(zhí)行環(huán)境(假設),定時器執(zhí)行是0ms,當用戶快速滑動的時候,定時器就會依次推入到這個執(zhí)行環(huán)境中,然后...(作者也不知道了)