所以我在我的页面上有这个代码
的jQuery
$(window).scroll(function(){
if ($(this).scrollTop() > 785) {
$('#navbar').addClass('fixed');
} else {
$('#navbar').removeClass('fixed');
}
});
CSS
.fixed {position:fixed; top:0; left:0;}
我的问题
当我加载页面#navbar似乎有.addClass(' fixed');在滚动之前。如果我在加载页面后只滚动1px,那么.removeClass(' fixed')激活并激活,直到我不低于785px。
如何在我加载页面时修复如此固定的不激活?
答案 0 :(得分:1)
为什么不在加载时将其删除?
$(function() { $('#navbar').removeClass('fixed'); }); // this should remove it on load
$(window).scroll(function() {
if ($(this).scrollTop() > 785) {
$('#navbar').addClass('fixed');
} else {
$('#navbar').removeClass('fixed');
}
});
答案 1 :(得分:0)
在DOM加载后尝试“重置”状态,如下所示:
function _setClass() {
if ($(window).scrollTop() > 785) {
$('#navbar').addClass('fixed');
} else {
$('#navbar').removeClass('fixed');
}
}
_setClass();
$(window).scroll(function(){
_setClass();
});
$(function(){ _setClass() });
希望有所帮助。