因此,我在导航菜单中有此代码,当我进入智能手机视图时(即添加了“响应”类),我不希望第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)");
}
}
});
});