jqueryif语句不适用于括号内的所有元素

jqueryif语句不适用于括号内的所有元素,jquery,html,css,Jquery,Html,Css,因此,我的导航菜单上有这段代码,当我在智能手机视图中时(即添加了“responsive”类),我不希望从第3行开始的所有事情都发生。然而,当我向下滚动时,我的背景仍然会改变颜色。感觉我的浏览器不知何故把我的第一个if语句的结束括号与其他语句混淆了。我做错了什么 $(document).ready(function(){ if(!$(".site-nav").hasClass("responsive")){ $(window).scroll(function(){ $(

因此,我的导航菜单上有这段代码,当我在智能手机视图中时(即添加了“responsive”类),我不希望从第3行开始的所有事情都发生。然而,当我向下滚动时,我的背景仍然会改变颜色。感觉我的浏览器不知何故把我的第一个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)");
    }

    });
  }
});

改为在事件中使用if语句

  $(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)");
            }
          }


        });

    });

$(窗口)。滚动()
$(窗口)。在(“滚动”
上执行完全相同的操作…无需duplication@charlietfl谢谢你提供的信息:)我已经更新了我的答案谢谢,它现在工作了!可能需要打开另一个问题,但在我的CSS中,我希望.site nav的背景色在.responsive时为蓝色,这在以前我的屏幕更大的情况下不起作用。你知道为什么吗?