2017-06-18 7 views
0

このコードはナビゲーションメニュー用に用意されています。スマートフォンビュー(つまり「応答」クラスが追加されている)では、 3行目が起こる。しかし、下にスクロールすると、私の背景は変わります。私のブラウザは何とか私の最初のif文の閉じ括弧を何か他のものと混同しているように感じます。私は何を間違えたのですか?Jquery ifステートメントが角かっこの中のすべての要素に適用されない

$(document).ready(function(){ 
    if(!$(".site-nav").hasClass("responsive")){ 
    $(window).scroll(function(){ 
     $(".site-nav").css("top",Math.max(-10,130-$(this).scrollTop())); 
    }); 

    $(window).on("scroll",function(){ 
    var wn = $(window).scrollTop(); 

    if(wn > 130){ 
     $(".site-nav").css("background","rgba(225,225,225,0.7)"); 
    } 
    else{ 
     $(".site-nav").css("background","rgba(0,0,0,0)"); 
    } 

    }); 
    } 
}); 

答えて

1

使用している場合は、イベント内のステートメントの代わりに

$(document).ready(function(){ 

     $(window).on("scroll",function(){ 
      if(!$(".site-nav").hasClass("responsive")) 
      { 

      $(".sitenav").css("top",Math.max(-10,130-$(this).scrollTop())); 
      var wn = $(window).scrollTop(); 

      if(wn > 130){ 
       $(".sitenav").css("background","rgba(225,225,225,0.7)"); 
      } 
      else{ 
       $(".site-nav").css("background","rgba(0,0,0,0)"); 
      } 
      } 


     }); 

    }); 
+1

'$(ウィンドウ).scroll()'と '$(ウィンドウ).on(...まったく同じことを行う' "スクロール" なし複製の必要性 – charlietfl

+0

@charlietfl情報ありがとうございました:)私は私の答えを更新しました – hasan

+0

ありがとう、それは今働いています!別の質問を開く必要があるかもしれませんが、私のCSSでは、私の画面が以前よりも大きかった場合に応答しないときに.site-navの背景色を青にしたいと思っています。なぜどんなアイデア? – Twister013

関連する問題