2016-10-04 2 views
0

У меня есть этот кусок кода здесь:JQuery переключения/untoggle добавить/удалить класс

$('.plus-area-current').click(function() { 
     $(".current-communities").slideToggle(function() { 
      $(".plus-area-current i").removeClass("fa-plus"); 
      $(".plus-area-current i").addClass("fa-minus"); 
     }, function() { 
      $(".plus-area-current i").removeClass("fa-minus"); 
      $(".plus-area-current i").addClass("fa-plus"); 
     }); 
    }); 

Когда пользователь щелкает плюс область тока, ток-сообщества получает untoggled, что я пытаюсь это добавить/удалите классы fa-plus и fa-minus из ожидающего элемента, если текущие сообщества элементов переключаются или нет. Этот код выше не работает, элемент клеванты, но класс не изменится, если я это сделать:

$('.plus-area-current').click(function() { 
     $(".current-communities").slideToggle(); 
     $(".plus-area-current i").removeClass("fa-plus"); 
     $(".plus-area-current i").addClass("fa-minus"); 
    }); 

Он работает, но когда я нажимаю, чтобы переключить его обратно, его не меняется обратно в плюс ,

ответ

0

Использование toggleClass() вместо:

$('.plus-area-current').click(function() { 
    $(".current-communities").slideToggle(); 
    $(".plus-area-current i").toggleClass("fa-plus fa-minus"); 
}); 

Если вы предпочитаете изменения класса не произойдет до тех пор, slideToggle() анимация завершена, поместите эту строку в функцию обратного вызова, например:

$('.plus-area-current').click(function() { 
    $(".current-communities").slideToggle(function() { 
     $(".plus-area-current i").toggleClass("fa-plus fa-minus"); 
    }); 
}); 
Смежные вопросы