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