function1 已经完成后如何使 function2 运行?

How to make function2 run after function1 has already finished?

我正在开发侧边栏导航:当我们单击切换按钮时,侧边栏会打开,它会一直打开,直到我们再次单击切换按钮。 对于同一个侧边栏,我有一个悬停功能:在 mouseEnter 侧边栏打开和 onMouseLeave 侧边栏关闭。

我遇到的问题是关闭边栏 onClick。当我在切换按钮上单击关闭时,边栏保持打开状态,因为触发了 mouseEnter 函数。

我希望 mouseEnter 在导航栏关闭动画完成后准备就绪。

这是我的点击事件代码:

$('body').on('click', '.sidebar-toggler', function (e) {
            var sidebar = $('.page-sidebar');
            var sidebarMenu = $('.page-sidebar-menu');
        if (body.hasClass("page-sidebar-closed")) {
                    body.removeClass("page-sidebar-closed");
                    sidebarMenu.removeClass("page-sidebar-menu-closed");
                } else {
                    body.addClass("page-sidebar-closed");
                    sidebarMenu.addClass("page-sidebar-menu-closed");
                    if (body.hasClass("page-sidebar-fixed")) {
                        sidebarMenu.trigger("mouseleave");
                    }
    }

这里是悬停事件的代码:

 if (body.hasClass('page-sidebar-fixed')) {
            $('.page-sidebar').on('mouseenter', function () {
                if (body.hasClass('page-sidebar-closed')) {
                    $(this).find('.page-sidebar-menu').removeClass('page-sidebar-menu-closed');
                }
            }).on('mouseleave', function () {
                if (body.hasClass('page-sidebar-closed')) {
                    $(this).find('.page-sidebar-menu').addClass('page-sidebar-menu-closed');
                }
            });
        }

当使用切换按钮打开侧边栏时,尝试 .off() mouseenter 事件。

http://api.jquery.com/off/