2016-09-06 32 views
0

我正在使用这个很棒的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"}); 

} 
}); 
+0

切换课程... – epascarello

+0

现在我觉得很蠢。谢谢 – cdb

回答

0

只是将第一个addClass更改为toggleClass修复了我的问题。