我有一個非常簡單的懸停菜單,而我試圖找出如何處理時機。延遲jQuery的鼠標離開或toggleClass
的目標是500延遲mouseleave
事件,和/或不快速越過其他菜單項反應。
基本功能:
$('.button').on({
mouseenter: function() {
$(this).children('.menu').addClass('open');
},
mouseleave: function() {
$(this).children('.menu').removeClass('open');
},
});
與此的主要問題是該按鈕和菜單之間的像素間隙 - 當用戶移動朝向菜單鼠標然後觸發mouseleave
功能。
第二煩惱是快速經過鼠標按鈕同級它們也觸發其mouseenter
函數時。
我也試過,但沒有反應......
mouseleave: function() {
setTimeout(function() {
$(this).children('.menu').removeClass('open');
}, 500);},
});
和我一直在使用
.delay(500).queue(function(){
$(this).removeClass("open").dequeue();
也嘗試過,但似乎不穩定給我。
console.log($.ui.version)
打印1.11.4
謝謝Paul Roub,完美的解決方案和演示! – petergus