Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击添加类和添加css规则_Javascript_Jquery_Css - Fatal编程技术网

Javascript 单击添加类和添加css规则

Javascript 单击添加类和添加css规则,javascript,jquery,css,Javascript,Jquery,Css,我在使用jqueryonclick将特定类加上一条css规则从displaynone添加到displayblock时遇到了问题。我有导航菜单,我想添加一个背景加上一个三角形点击,然后删除它,如果用户点击另一个导航链接 $(.navigation”)。在(“单击”,函数(){ $(“.navigation”).removeClass(“活动”); $(此).addClass(“活动bg”); if(!$(“.navigation”).hasClass(“.triangle”)){ $(“.tri

我在使用jqueryonclick将特定类加上一条css规则从displaynone添加到displayblock时遇到了问题。我有导航菜单,我想添加一个背景加上一个三角形点击,然后删除它,如果用户点击另一个导航链接

$(.navigation”)。在(“单击”,函数(){
$(“.navigation”).removeClass(“活动”);
$(此).addClass(“活动bg”);
if(!$(“.navigation”).hasClass(“.triangle”)){
$(“.triangle”).css({
“显示”:“无”
});
}else if($(“.navigation”).hasClass(“.triangle”)){
$(“.triangle”).css({
“显示”:“块”
});
}
});
.navigation li{
列表样式:无;
显示:内联块;
右边距:22px;
位置:相对位置;
}
.导航李:第n个子(3n){
右边距:-22px;
}
.李娜{
字体大小:22px;
文本转换:大写;
字体大小:正常;
文字装饰:无;
宽度:383px;
显示:内联块;
文本对齐:居中;
线高:40px;
颜色:#000;
}
.主动{
背景:红色;
}
.导航李.三角形{
宽度:25px;
身高:0;
显示:无;
左:2.5%;
垫面:2.5%;
溢出:隐藏;
位置:绝对位置;
顶部:40px;
左:0;
右:0;
保证金:自动;
z指数:99;
}
.导航李.三角形:后{
内容:“;
显示:块;
宽度:0;
身高:0;
左边距:-50px;
利润上限:-50px;
左边框:50px实心透明;
右边框:50px实心透明;
边框顶部:50px纯红;
}


我已经清除了您的大部分代码,您只需从单击的所有项目中删除
.active
类,然后将其设置为新项目。显示
.triangle
元素还取决于父元素的
.active
类:

var$items=$('.navigation li');
$items.on('click',函数(e){
$items.removeClass('active');
$(e.target).最近('li').addClass('active');
});
.navigation li{
列表样式:无;
显示:内联块;
右边距:22px;
位置:相对位置;
}
.导航李:第n个子(3n){
右边距:-22px;
}
.李娜{
字体大小:22px;
文本转换:大写;
字体大小:正常;
文字装饰:无;
宽度:383px;
显示:内联块;
文本对齐:居中;
线高:40px;
颜色:#000;
}
.主动{
背景:红色;
}
.导航李.三角形{
宽度:25px;
身高:0;
显示:无;
左:2.5%;
垫面:2.5%;
溢出:隐藏;
位置:绝对位置;
顶部:40px;
左:0;
右:0;
保证金:自动;
z指数:99;
}
.导航李.活动.三角形{
显示:块;
}
.导航李.三角形:后{
内容:'';
显示:块;
宽度:0;
身高:0;
左边距:-50px;
利润上限:-50px;
左边框:50px实心透明;
右边框:50px实心透明;
边框顶部:50px纯红;
}


您的JS有点混乱。您的
hasClass()。一开始你不需要
,你有
.addClass(“活动bg”)
但是没有定义
活动bg
类,您的意思是只使用
活动
。您可能希望重新检查代码,确保使用了正确的名称