我有一个显示/隐藏功能,我试图调整现在的悬停触发下拉菜单。我希望鼠标悬停时出现下拉菜单,但当鼠标离开之前等待大约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