我有一個Nav,它有一個下拉子菜單。當下拉出現我想菜單的工會+下拉這樣的:mouseenter上的聯合jquery
因此,如果鼠標退出粉紅色這整個塊,則子導航消失。目前,如果鼠標僅退出下拉菜單,則下拉菜單消失。 我看到this example,但是把課堂結合在一起並不適合我。
這裏的MY FIDDLE
我有一個Nav,它有一個下拉子菜單。當下拉出現我想菜單的工會+下拉這樣的:mouseenter上的聯合jquery
因此,如果鼠標退出粉紅色這整個塊,則子導航消失。目前,如果鼠標僅退出下拉菜單,則下拉菜單消失。 我看到this example,但是把課堂結合在一起並不適合我。
這裏的MY FIDDLE
爲什麼不只是來自mouseenter
和mouseleave
的目標去掉子類?像this:
var animate;
$(".myClass").mouseenter(function() {
clearTimeout(animate);
$('.myClass').css('background-color','#777');
$('.mySubClass').css('display','inline');
});
$(".myClass").mouseleave(function() {
animate = setTimeout(function(){
$('.myClass .mySubClass').css('display','none');
$('.myClass').css('background-color','#49616a');
}, 800);
});
...爲.myClass
覆蓋區域已然是菜單和下降的聯合(如相應的元素包括鏈接和下拉菜單)。
我已經修復了另一個潛在的錯誤:可以快速排序mouseleave-mouseenter事件,然後超時功能即使不應該(因爲光標停留在菜單區域中)也會觸發。爲了防止這種情況,增加了一個附加變量(animate
);它將超時存儲在mouseleave
處理程序中並將其清除到`mouseenter'處理程序中。
我沒有意識到'.myClass'覆蓋區域已經是菜單和放置的結合 –
呃...什麼現在不起作用?對我來說,它在鼠標離開'item0'和'item1'區域時都有效。 – raina77ow
如果您將鼠標放在'item 0'上,則會出現下拉菜單,然後將鼠標移到下拉菜單上,然後返回到'item 0',下拉菜單不應該消失 –
我跟蹤mouseOut事件時看到的第一個問題到控制檯的是,當我將鼠標放在列表中並返回到item0時,to元素正在註冊爲body,而不是該列表項。也許有一個問題,強制列表項是塊而不是使用div等實際塊元素。 – invertedSpear