Javascript 单击添加类和添加css规则
我在使用jqueryonclick将特定类加上一条css规则从displaynone添加到displayblock时遇到了问题。我有导航菜单,我想添加一个背景加上一个三角形点击,然后删除它,如果用户点击另一个导航链接Javascript 单击添加类和添加css规则,javascript,jquery,css,Javascript,Jquery,Css,我在使用jqueryonclick将特定类加上一条css规则从displaynone添加到displayblock时遇到了问题。我有导航菜单,我想添加一个背景加上一个三角形点击,然后删除它,如果用户点击另一个导航链接 $(.navigation”)。在(“单击”,函数(){ $(“.navigation”).removeClass(“活动”); $(此).addClass(“活动bg”); if(!$(“.navigation”).hasClass(“.triangle”)){ $(“.tri
$(.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
类,您的意思是只使用活动
。您可能希望重新检查代码,确保使用了正确的名称