2016-10-04 95 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,我试图给被添加/如果元素current-communities被切换,则从正在等待的元素中移除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"); 
    }); 
});