如何使用 jquery ui 在 toggleClass 之后执行函数

How can I execute a function AFTER toggleClass with jquery ui

toggleClass('show-flyout hide-flyout') 只应在由 $(parent).toggleClass('opened closed');

触发的动画完成时调用

我该怎么做?

 *$('.drawer-left-trigger').click(function () {
            var parent = $(this).parent();
            $(parent).toggleClass('opened closed');
            $(parent).toggleClass('show-flyout hide-flyout')
        });*

这没有帮助:

 $('.drawer-left-trigger').click(function () {
            var parent = $(this).parent();
            $(parent).toggleClass('opened closed',function(){

                    $(parent).toggleClass('show-flyout hide-flyout');
             });

        });

试试这个

    $(parent).toggleClass('opened closed').promise().done(function(){
    setTimeout(function(){
        $(parent).toggleClass('show-flyout hide-flyout');
    },1000);

    });

我猜你正在使用打开/关闭的 css 动画,所以你应该在动画结束时收听,例如:

$(parent).one('transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEndfunction', function() { 
   $(parent).toggleClass('show-flyout hide-flyout');
});