我正在开发一个小型网页,我想在向下滚动时更改导航栏的背景颜色。
$(window).on("scroll", function() {
if($(window).scrollTop()) {
$('nav').animate({'background-color' : '#999999'}, 'slow');
//$('nav').css("background-color","#cccccc");
}
else {
$('nav').animate({'background-color' : '#eeeecc'}, 'slow');
//$('nav').css("background-color","#eeeecc");
}
})
当我滚动到顶部时,if语句立即被调用,else语句在大约10秒钟后被调用。但是else语句应该立即执行。
如果我使用的是注释的代码行,则可以使用。
答案 0 :(得分:0)
起作用的是使用停止功能:
$(window).on("scroll", function() {
if($(window).scrollTop()) {
$('nav').animate({'background-color' : '#999999'}, 'slow');
}
else {
$('nav').stop(true,true);
$('nav').animate({'background-color' : '#eeeecc'}, 'slow');
}
})
但是我不确定这是否是一个好的解决方案。