场景:我已经构建了一个固定的导航功能,一旦滚动大于或等于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
答案 0 :(得分:1)
这是因为您的else
部分。场景是:
1.增加课程
没有足够高的页面现在更低。
3. if
不再是真的
4.它正在执行您的else
部分。
页面又高了......
你应该实现可以阻止else
的东西。也许检查像" onbottom"?像this