2013-01-24 54 views
0

我做了一个嵌套的菜单向下滑动,但问题是,如果您不断悬停和关闭li以将嵌套的ul设置为向下滑动,则当您将鼠标悬停时,它将继续执行动画的次数当你快速徘徊和徘徊时,你不会完成任务。我想这样做,所以它不会注册动画,直到它完成上下移动以防止未悬停时的动画。Javascript嵌套菜单Slidedown?

这里是我的javascript:

function mainmenu() { 
    $(" ul ul ").css({ 
     display: "none" 
    }); 
    $(" ul li").hover(function() { 
     $(this).find('ul:first').css({ 
      visibility: "visible", 
      display: "none" 
     }).slideDown(100); 
    }, function() { 
     $(this).find('ul:first').slideUp(100); 
    }); 
} 
$(document).ready(function() { 
    mainmenu(); 
}); 

回答

0

使用jQuery 'stop()'。

function mainmenu() { 
$(" ul ul ").css({ 
    display: "none" 
}); 
$(" ul li").hover(function() { 
    $(this).find('ul:first').css({ 
     visibility: "visible", 
     display: "none" 
    }).stop().slideDown(100); 
}, function() { 
    $(this).find('ul:first').stop().slideUp(100); 
}); 
}