2014-01-28 105 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(); });