滚动时更改div背景(jQuery)

时间:2016-11-17 22:12:58

标签: jquery

我需要jQuery的一些帮助!我使用 jquery-3.1.1.min jquery.color-2.1.0

我的网页上至少有一个"顶部" div和#34;页脚" DIV。两者都设置为固定。我想要的是:当你向下滚动时,两个div的背景都需要改变背景。当您再次向上滚动时,它应该更改为原始背景。

我有以下jQuery代码。第一部分工作正常;向下滚动时背景会改变。我的问题是当我向上滚动时如何让它们再次改变。

我已尝试用其他'其他'在下面的代码中,但不幸的是,这并没有奏效。谁可以帮忙?用jQuery不好。

$(document).scroll(function(){
   if($(this).scrollTop() > 90){
      $(".top").animate({"background-color":"#101010"},'slow');
      $(".footer").animate({"background-color":"#101010"},'slow');
   }else{
      $(".top").animate({"background-color":"rgba(16, 16, 16, 0.8)"},'slow');
      $(".footer").animate({"background-color":"rgba(16, 16, 16, 0.8)"},'slow');
   }
});

1 个答案:

答案 0 :(得分:0)

好的,经过大量的努力,我自己解决了。首先,我使用了“else if”语句。

if($(this).scrollTop() > 89){
   //change backgrounds here
}else if($(this).scrollTop() < 90){
   //change backgrounds back
}

它起作用但是有一个很大的延迟。经过一些谷歌搜索我发现它被调用了几次,所以我通过使用Stop()函数解决了这个问题:

$(".top").stop().animate({"background-color":"rgba(16, 16, 16, 0.8)"},'slow');