我正在使用这个伟大的accordion&它运作良好。我已经为点击的项目添加了一个活动类,但如果第二次单击它,我找不到删除活动类的方法。我已经尝试在很多地方添加它,还添加了一个单独的点击事件,它允许我删除任何类但是活动。
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"});
}
});
答案 0 :(得分:0)
只需将第一个addClass更改为toggleClass即可解决我的问题。