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