我创建了一个非常简单的向下滑动导航栏,仅当用户向下滚动到主标题时才会显示:http: //hammr.co/9525666/23/index.html
然而,动画是惊人的,一点也不流畅。我怀疑这是因为它在滚动时一直被调用,但我不知道如何只调用一次。
我的代码如下所示:
function setOffset() {
    bannerH = $('header').height();
}   
function navTop() {
    if( $(window).scrollTop() > bannerH ) {
        $('#navbar').stop().animate({
            top: 0
        }, 100);
    } else {
        $('#navbar').stop().animate({
            top: -61
        }, 100);
    }
}
setOffset();
$(window).scroll(function(){
    navTop();
}); 
如果我删除.stop()动画会有很大的延迟(我假设等待足够的时间来“动画”栏一直到滚动点,或者看起来是这样)。
无论如何,我的问题很简单——如何调整它以使动画流畅?