js判斷頁面上滾下滾

今天做了個導航欄,客戶要求的效果是當頁面下滾時導航欄消失,上滾時導航欄出現(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)境中,然后...(作者也不知道了)

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容