我有一個菜單,當懸停時,通過將.stick
添加到子菜單並在mouseleave上刪除它來顯示當前懸停項目的subnav。如果沒有懸停在另一個菜單項上,我想讓最後一個懸停的菜單項在隱藏之前保持打開狀態2秒。使最後一個懸停的菜單項保持打開狀態
這是我的。我知道在容器上調用的mouseleave()
將不起作用,因爲它位於ul#main-nav > li
懸停函數的處理程序輸出之內,但是我已將它留給它以向您顯示我上次離開的位置。
$('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);
}
});
提前感謝!
請提供[jsfiddle示例](http://jsfiddle.n et) – Dom
Hi @Dom,[這是JS小提琴。](http://jsfiddle.net/mikemiketm09/3F7bJ/)謝謝! – Mikel
我已更新JS小提琴,請查看http://jsfiddle.net/3F7bJ/1/ –