我正在尝试使用jQuery根据窗口滚动设置此菜单的高度。向下滚动它工作正常,但滚动时,我不明白动画的延迟。代码:
$(window).scroll(function() {
if ($(this).scrollTop()>0)
{
$('.menu').animate({height:'40px'});
}
else
{
$('.menu').animate({height:'100px'});
}
});
此外,如果我使用方法fadeOut()和fadeIn(),代码工作正常。为什么?
答案 0 :(得分:1)
根据@drip的提示,我设法达到了这个解决方案:
$(window).scroll(function () {
var top = $(window).scrollTop();
if (top > 0) {
$(".menu").stop().animate({height: '50px'}, 100);
} else {
$(".menu").stop().animate({height: '100px'}, 100);
}
})
stop()
方法可防止多次触发动画