2016-09-06 3 views
0

Я использую этот замечательный accordion &, он хорошо работает. Я добавил активный класс для кликов, но не могу найти способ удалить активный класс, если он будет нажат второй раз. Я попытался добавить его в нескольких местах, также добавил отдельное событие click, которое позволяет мне удалить любой класс, но активен.Удалить Active Class при втором щелчке (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 исправляет мою проблему.

Смежные вопросы