我有一個顯示/隱藏功能,我試圖調整現在的懸停觸發下拉菜單。我希望鼠標懸停時出現下拉菜單,但當鼠標離開之前等待大約500毫秒,除非鼠標已經離開並懸停在另一個li項目上(我甚至沒有解決這個問題條件還沒有,因爲我沒有遇到第一次)。如何使用jquery延遲隱藏事件
這裏是什麼,我至今一的jsfiddle ... http://jsfiddle.net/u4e1tv21/12/
我已經做了一些挖掘,我試圖改變JS的該位
$('[data-toggle="menu"]').on('mouseleave', function (ev) {
var id = $(this).data('target');
$('.sub-menu').hide();
$(id).hide();
});
這個
$('[data-toggle="menu"]').on('mouseleave', function (ev) {
var id = $(this).data('target');
setTimeout(function() {
$('.sub-menu').hide();
$(id).hide();
}; 2000);
});
通過事實證明這一變化完全打破了這個事件,我知道我沒有把事情說得很對。但是,我似乎無法弄清楚什麼是正確的做法。任何幫助將非常感激。
爲什麼不使用'delay(2000)'? – 2014-10-06 16:27:16
您有語法錯誤。在'2000'前的';'應該是','。 http://jsfiddle.net/barmar/u4e1tv21/16/ – Barmar 2014-10-06 16:28:40
你沒有從Javascript控制檯中得到一個錯誤? – Barmar 2014-10-06 16:29:29