第二次点击删除活动类(jQuery)
问题描述:
我正在使用这个很棒的accordion &它运行良好。我已经为点击的项目添加了一个活动类,但是如果第二次点击活动类,我找不到方法来移除它。我试过在很多地方添加它,还添加了一个单独的单击事件,它允许我删除任何类但活动。第二次点击删除活动类(jQuery)
var headers = ["H1","H2","H3","H4","H5","H6"];
$(".accordion").click(function(e) {
var target = e.target,
name = target.nodeName.toUpperCase();
$(target).addClass('active');
$(target).siblings().removeClass('active');
if($.inArray(name,headers) > -1) {
var subItem = $(target).next();
//slideUp all elements (except target) at current depth or greater
var depth = $(subItem).parents().length;
var allAtDepth = $(".accordion p, .accordion div").filter(function() {
if($(this).parents().length >= depth && this !== subItem.get(0)) {
return true;
}
});
$(allAtDepth).slideUp("fast");
//slideToggle target content and adjust bottom border if necessary
subItem.toggleClass('active').slideToggle("fast",function() {
$(".accordion :visible:last").css("border-radius","0");
});
$(target).css({"border-bottom-right-radius":"0", "border-bottom-left-radius":"0"});
}
});
答
只是将第一个addClass更改为toggleClass修复了我的问题。
切换课程... – epascarello
现在我觉得很蠢。谢谢 – cdb