jquery toggle / untoggle添加/删除类

时间:2016-10-04 19:24:36

标签: javascript jquery

我这里有这段代码:

$('.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");
    });

它可以工作,但是当我点击以将其切换回来时,它不会变回加号。

1 个答案:

答案 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");
    });
});