我创建了一个非常简单的向下滑动导航栏,仅当用户向下滚动到主标题时才会显示: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()
动画会有很大的延迟(我假设等待足够的时间来“动画”栏一直到滚动点,或者看起来是这样)。
无论如何,我的问题很简单——如何调整它以使动画流畅?