我有一个菜单。在这个菜单中我有一些隐藏的子菜单,所以我在悬停操作后显示它。我也对子菜单显示有一些延迟效果。现在我想添加相同的效果来隐藏它。但它不起作用。另外我怎么能在悬停/ mouseenter下一个菜单元素上添加一些延迟?如何使用jQuery延迟mouseleave动作
$('.main_menu ul li').on({
mouseenter: function(){
var self = this,
time = 200;
$(self).data('timer', setTimeout(function(){
$(self).children('.sub_menu_main').addClass('opened');
}, time));
},
mouseleave: function(){
var self = this,
time = 200;
clearTimeout($(self).data('timer'));
setTimeout(function() {
$(self).children('.sub_menu_main').removeClass('opened');
}, time);
}
});
* HTTP://stackoverflow.com/questions/3709255/add-delay-to-mouseleave-in-jquery* –