鼠标悬停和离开jQuery

时间:2014-01-28 15:05:16

标签: jquery slidedown slideup mouseenter

我有以下jQuery,当我的菜单中的列表项被覆盖时,它会查找.sub-menu是否存在且.slideDown()并且离开它将.slideUp()

我的问题是子菜单中的2个大约是205px高,第三个是54px高,并且每隔一个较大的.sub-menu通常只有54px的高度。

有没有办法在下面改进我的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发布到菜单的大小。

2 个答案:

答案 0 :(得分:0)

你看过hover()是如何运作的吗?一种可能的解决方案是:

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

答案 1 :(得分:0)

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