2017-06-18 48 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()'和'$(窗口)。在( 「滾動」'做完全一樣的東西......不需要重複 – charlietfl

+0

@charlietfl謝謝你的信息:)我已經更新了我的回答 – hasan

+0

謝謝,它現在正在工作!可能需要打開另一個問題,但在我的CSS中,我希望.site-nav的背景顏色爲藍色,而在以前我的屏幕較大時,無法正常工作。任何想法爲什麼? – Twister013