Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多次设置背景色动画。_Javascript_Jquery - Fatal编程技术网

Javascript 多次设置背景色动画。

Javascript 多次设置背景色动画。,javascript,jquery,Javascript,Jquery,我试图在不同的scrolltop值上多次设置div背景色的动画。 下面是我的代码,但它只改变颜色一次(它只听第二个。) 有人能帮忙吗 $(window).scroll(function() { if($(window).scrollTop() >=200){ $('#div01').stop().animate({ backgroundColor: "#fff" },500); } else{

我试图在不同的scrolltop值上多次设置div背景色的动画。 下面是我的代码,但它只改变颜色一次(它只听第二个。) 有人能帮忙吗

$(window).scroll(function() {
         if($(window).scrollTop() >=200){
             $('#div01').stop().animate({ backgroundColor: "#fff" },500);
         }
         else{
             $('#div01').stop().animate({ backgroundColor: "#333" },500); 
         }
});
 $(window).scroll(function() {
         if($(window).scrollTop() >=500){
             $('#div01').stop().animate({ backgroundColor: "#777" },500);
         }
         else{
             $('#div01').stop().animate({ backgroundColor: "#fff" },500); 
         }
});

为您的第一个
if
提供另一个条件,以检查
$(窗口)。scrollTop()
小于
500

if($(window).scrollTop() >=200 && $(window).scrollTop() < 500){
    $('#div01').stop().animate({ backgroundColor: "#fff" },500);
}
else{
    $('#div01').stop().animate({ backgroundColor: "#333" },500); 
}
if($(窗口).scrollTop()>=200&&$(窗口).scrollTop()<500){
$('div01').stop().animate({backgroundColor:'fff'},500);
}
否则{
$('#div01').stop().animate({backgroundColor:“#333”},500);
}

为您的第一个
if
提供另一个条件,以检查
$(窗口)。scrollTop()
小于
500

if($(window).scrollTop() >=200 && $(window).scrollTop() < 500){
    $('#div01').stop().animate({ backgroundColor: "#fff" },500);
}
else{
    $('#div01').stop().animate({ backgroundColor: "#333" },500); 
}
if($(窗口).scrollTop()>=200&&$(窗口).scrollTop()<500){
$('div01').stop().animate({backgroundColor:'fff'},500);
}
否则{
$('#div01').stop().animate({backgroundColor:“#333”},500);
}

为您的第一个
if
提供另一个条件,以检查
$(窗口)。scrollTop()
小于
500

if($(window).scrollTop() >=200 && $(window).scrollTop() < 500){
    $('#div01').stop().animate({ backgroundColor: "#fff" },500);
}
else{
    $('#div01').stop().animate({ backgroundColor: "#333" },500); 
}
if($(窗口).scrollTop()>=200&&$(窗口).scrollTop()<500){
$('div01').stop().animate({backgroundColor:'fff'},500);
}
否则{
$('#div01').stop().animate({backgroundColor:“#333”},500);
}

为您的第一个
if
提供另一个条件,以检查
$(窗口)。scrollTop()
小于
500

if($(window).scrollTop() >=200 && $(window).scrollTop() < 500){
    $('#div01').stop().animate({ backgroundColor: "#fff" },500);
}
else{
    $('#div01').stop().animate({ backgroundColor: "#333" },500); 
}
if($(窗口).scrollTop()>=200&&$(窗口).scrollTop()<500){
$('div01').stop().animate({backgroundColor:'fff'},500);
}
否则{
$('#div01').stop().animate({backgroundColor:“#333”},500);
}

我感觉第二个
$(窗口).scroll()
正在覆盖第一个。下面的代码应该可以工作

$(window).scroll(function() {
         if($(window).scrollTop() >= 500){
             $('#div01').stop().animate({ backgroundColor: "#777" },500);
         }
         else if($(window).scrollTop() >=200){
             $('#div01').stop().animate({ backgroundColor: "#fff" },500);
         }
         else{
             $('#div01').stop().animate({ backgroundColor: "#333" },500); 
         }
});

无论如何,这是您的代码的一个更加枯燥的版本。

我感觉您的第二个
$(窗口).scroll()
正在覆盖第一个。下面的代码应该可以工作

$(window).scroll(function() {
         if($(window).scrollTop() >= 500){
             $('#div01').stop().animate({ backgroundColor: "#777" },500);
         }
         else if($(window).scrollTop() >=200){
             $('#div01').stop().animate({ backgroundColor: "#fff" },500);
         }
         else{
             $('#div01').stop().animate({ backgroundColor: "#333" },500); 
         }
});

无论如何,这是您的代码的一个更加枯燥的版本。

我感觉您的第二个
$(窗口).scroll()
正在覆盖第一个。下面的代码应该可以工作

$(window).scroll(function() {
         if($(window).scrollTop() >= 500){
             $('#div01').stop().animate({ backgroundColor: "#777" },500);
         }
         else if($(window).scrollTop() >=200){
             $('#div01').stop().animate({ backgroundColor: "#fff" },500);
         }
         else{
             $('#div01').stop().animate({ backgroundColor: "#333" },500); 
         }
});

无论如何,这是您的代码的一个更加枯燥的版本。

我感觉您的第二个
$(窗口).scroll()
正在覆盖第一个。下面的代码应该可以工作

$(window).scroll(function() {
         if($(window).scrollTop() >= 500){
             $('#div01').stop().animate({ backgroundColor: "#777" },500);
         }
         else if($(window).scrollTop() >=200){
             $('#div01').stop().animate({ backgroundColor: "#fff" },500);
         }
         else{
             $('#div01').stop().animate({ backgroundColor: "#333" },500); 
         }
});

无论如何,这是您的代码的一个更加枯燥的版本。

谢谢您felix。它工作!!!但当我滚动到顶部时,它不会变回我开始使用的第一种颜色。有什么建议吗?因为当
$(window.scrollTop()
小于
200
时,您没有任何要检查的条件。你应该增加另一个条件来实现它谢谢你felix。它工作!!!但当我滚动到顶部时,它不会变回我开始使用的第一种颜色。有什么建议吗?因为当
$(window.scrollTop()
小于
200
时,您没有任何要检查的条件。你应该增加另一个条件来实现它谢谢你felix。它工作!!!但当我滚动到顶部时,它不会变回我开始使用的第一种颜色。有什么建议吗?因为当
$(window.scrollTop()
小于
200
时,您没有任何要检查的条件。你应该增加另一个条件来实现它谢谢你felix。它工作!!!但当我滚动到顶部时,它不会变回我开始使用的第一种颜色。有什么建议吗?因为当
$(window.scrollTop()
小于
200
时,您没有任何要检查的条件。您应该添加另一个条件,通过一些重构来实现它。您甚至可以添加额外的优化,以便在没有更改(并且不需要触发动画)的情况下进行重构。您甚至可以添加额外的优化,以便在没有更改(并且不需要触发动画)的情况下进行重构。您甚至可以添加额外的优化,以便在没有更改(并且不需要触发动画)的情况下进行重构。您甚至可以在没有更改(并且不需要触发动画)的情况下添加额外的优化