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 事件。
我正在开发侧边栏导航:当我们单击切换按钮时,侧边栏会打开,它会一直打开,直到我们再次单击切换按钮。 对于同一个侧边栏,我有一个悬停功能:在 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 事件。