我这里有这段代码:
$('.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");
});
});
当用户点击plus-area-current时,current-communities将被取消,我正在尝试添加/删除等待元素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 :(得分: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");
});
});