我更新了你的小提琴:http: //jsfiddle.net/RMRGH/6/
似乎问题在于丢失clearTimeout()
导致jQuery('#nav li').hover(function(){}..)
超时继续,即使您再次悬停菜单,从而关闭它。
这是代码:
jQuery(document).ready(function(){
var timer;
var hover;
jQuery('.moduletable-subNav > ul').hide();
jQuery('#nav li').hover(
function(){
var id = jQuery(this).attr('data-number');
jQuery('.moduletable-subNav > ul').slideUp();
jQuery('#submenu-'+id).stop().slideDown();
clearTimeout(timer);
},
function(){
var id = jQuery(this).attr('data-number');
timer = setTimeout(function() { jQuery('#submenu-'+id).slideUp(); },1000);
}
);
jQuery('.moduletable-subNav ul').hover(
function(){
clearTimeout(timer);
},
function(){
var id = jQuery(this).attr('id');
timer = setTimeout(function() { jQuery('#'+id).slideUp(); },1000);
}
);
});