2014-01-28 145 views
0

我有以下的jQuery,当我的菜单中的列表项被挖空它会发现如果.sub-menu存在和.slideDown()和离开它将.slideUp()jQuery在鼠标悬停和离开

我的问题是子菜单中的2个大约205像素高,第三个像素高54像素,每隔一个较大的.sub-menu只会高出54像素。

有没有一种方法来改善我的jQuery下面,也解决高度问题?

$("body").on("mouseenter", ".main-menu > ul > li", function(){ 
    $(this).find('.sub-menu').slideDown(); 
}).on("mouseleave", ".main-menu > ul > li", function(){ 
    $(this).find('.sub-menu').stop().slideUp(); 
}); 

不幸的是,我不会发布任何html做的菜单的大小。

+0

我使用悬停创建一个小的样品,并不能重现此问题:[小提琴](http://jsfiddle.net/uNWFY/) – Bic

回答

0
$(".main-menu > ul > li").hover(function() { 
     $(this).find('.sub-menu').stop(true,true).slideToggle("slow"); 
    }); 
0

你见过hover()是如何工作的?一个可能的解决办法是:

$("body").hover(function(){ $(this).find('.sub-menu').slideDown(); }, 
function() { $(this).find('.sub-menu').stop().slideUp(); });