2017-05-10 199 views
0

場景:我已經構建了一個固定的導航功能,在滾動大於或等於200px(導航的高度)時向頁眉添加一個類。固定導航閃爍

問題:雖然該功能可以正確執行,但在某些屏幕尺寸下,導航會閃爍並拒絕正常運行的功能。我不確定是否因爲窗口底部不超過200px?

理想:我希望導航能夠正確執行粘性導航功能,而不管屏幕大小如何。

問題:我的jquery條件是什麼問題?它是否與.scrollTop()函數有關?

注:這裏是導航錯誤的屏幕截圖:Error Capture

JS代碼:

// Side navigation Sticky function 
$(window).scroll(function() { 
    var top = $(window).scrollTop(); 

    if(top >= 200) { 
     $('header').addClass('navbar-fixed-top') 
    } else { 
     $('header').removeClass('navbar-fixed-top') 
    } 
}); 

這裏是鏈接到原型:JSfiddle

回答

1

這是因爲你的else部分。情景是: 1.添加類 2.現在較低的高頁面不足。 3. if不是真的 4.它正在執行您的else部分。 5.頁面再次夠高...

您應該執行一些可以阻止else的操作。也許檢查像「onbottom」?像this