.stick
我有一个菜单,当悬停时,通过添加到子菜单并在鼠标离开时将其删除来显示当前悬停项目的子导航。如果没有悬停在另一个菜单项上,我希望最后一个悬停的菜单项在隐藏之前再保持打开 2 秒。
这就是我所拥有的。我知道mouseleave()
容器上的调用将不起作用,因为它在ul#main-nav > li
悬停函数的 handlerOut 中,但我离开它是为了向您展示我上次离开的地方。
$('ul#main-nav > li').hover(function() {
var $this = $(this);
clearTimeout(window.menustick);
$this.find('ul.submenu').addClass('stick');
}, function() {
var $this = $(this);
if($this.siblings().hover()) {
$this.find('ul.submenu').removeClass('stick');
} else if ($('#main-nav').mouseleave()) {
window.menustick = setTimeout(function(){
$this.find('ul.submenu').removeClass('stick');
}, 2000);
}
});
提前致谢!