Jquery 调整窗口大小后背景色属性不起作用

Jquery 调整窗口大小后背景色属性不起作用,jquery,html,css,Jquery,Html,Css,在智能手机视图中,我的导航菜单是隐藏的,点击一个按钮可以看到,该按钮添加了“响应”类。 在桌面视图中,始终显示导航菜单,并根据下面的滚动更改其背景。 我的问题是,当导航菜单显示在智能手机上时,我需要背景色,但是如果我在桌面视图上,则将窗口缩小到智能手机大小,导航菜单没有背景。要获得它,我需要刷新页面 Jquery: $(document).ready(function(){ $(window).scroll(function(){ if(!$(".site-nav").h

在智能手机视图中,我的导航菜单是隐藏的,点击一个按钮可以看到,该按钮添加了“响应”类。 在桌面视图中,始终显示导航菜单,并根据下面的滚动更改其背景。 我的问题是,当导航菜单显示在智能手机上时,我需要背景色,但是如果我在桌面视图上,则将窗口缩小到智能手机大小,导航菜单没有背景。要获得它,我需要刷新页面

Jquery:

 $(document).ready(function(){

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

        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)");
        }
      }
      });
  });
//响应站点导航

  $(document).ready(function(){
      $(".icon").click(function(){
        if ($(".site-nav").hasClass("responsive")) {
          $(".site-nav").removeClass("responsive");
        } else {
          $(".site-nav").addClass("responsive");
        }
      });
  });
CSS:

编辑: 背景色消失,因为即使是在响应时(从智能手机大小调整后),背景色也会转到以下行:

    else{
            $(".site-nav").css("background","rgba(0,0,0,0)");
        }

如果窗口调整大小,可以使用javascript/jquery进行检查

$(window).resize(function() {
  //resize just happened
});

确实如此,您需要使用
.resize()
检查下面的示例,前后缩放以查看背景颜色的变化

$(窗口).on(“调整大小”,函数(){
var wd=$(window.width();
如果(wd=641){
$(“#菜单”).css(“背景”、“红色”);
}
});
#菜单{
宽度:100px;
高度:100px;
背景:红色;
}


窗口大小调整工作正常,因为我的CSS的其余部分正常(显示完全改变)。造成问题的唯一原因是这个背景。谢谢你@Twister013您可以使用jQuery或media query来实现这一点,因为您添加的导航在单击按钮时是隐藏和可见的,所以这两种方法都可以工作。谢谢!我所做的是在
.resize()
中添加
.removeAttr(“样式”)
,现在我拥有了我想要的一切。干杯欢迎@Twister013,太好了:-),如果您添加或删除了类,这甚至会起作用。
$(window).resize(function() {
  //resize just happened
});