滚动功能激活滚动

问题描述:

之前,所以我有这样的代码我的网页上滚动功能激活滚动

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('固定')激活并被激活,直到我不低于785px。

我如何修复如此固定不激活当我加载页面?

为什么不只是在加载时将其删除?

$(function() { $('#navbar').removeClass('fixed'); }); // this should remove it on load 
$(window).scroll(function() { 
    if ($(this).scrollTop() > 785) { 
     $('#navbar').addClass('fixed'); 
    } else { 
     $('#navbar').removeClass('fixed'); 
    } 
}); 
+0

非常感谢你的队友。 :) – user4312416 2014-12-07 13:14:50

+0

@ user4312416很高兴为您效劳! – 2014-12-07 13:16:40

试 '复位' 状态,一旦DOM负荷,具体如下:

function _setClass() { 
    if ($(window).scrollTop() > 785) { 
     $('#navbar').addClass('fixed'); 
    } else { 
     $('#navbar').removeClass('fixed'); 
    } 
} 

_setClass(); 
$(window).scroll(function(){ 
    _setClass(); 
}); 

$(function(){ _setClass() }); 

希望帮助。