2012-07-28 76 views
1

我已经在jquery中构建了一个扩展菜单,它工作正常,但是当我多次快速滚入和滑出菜单时,菜单会振荡并在鼠标移动后保持动画打开和关闭状态滚出菜单,这是非常烦人的。这里有我打开菜单的代码,非常简单。停止jQuery扩展菜单'振荡'

$("#links").mouseenter(function(){ 
    $("#linksBody").slideDown(600, "easeOutExpo"); 
}); 

$("#links").mouseleave(function(){ 
    $("#linksBody").slideUp(600, "easeOutExpo"); 
}); 

,这里是与

http://www.pegbarandgrill.com/blog/

其链接右侧&目录菜单中有问题的网站即时通讯。有没有人知道绕过这个振荡问题的最佳途径。

谢谢!

回答

1

试试这个:

$("#links").mouseenter(function(){ 
    $("#linksBody").stop(1).slideDown(600, "easeOutExpo"); 
}); 

$("#links").mouseleave(function(){ 
    $("#linksBody").stop(1).slideUp(600, "easeOutExpo"); 
}); 

另一种解决方案是使用插件像hoverIntent

此外,您还可以使用.hover()和简化这样的事情:

$("#links").hover(function(){ 
    $("#linksBody").stop(1).slideDown(600, "easeOutExpo"); 
}, 
    function(){ 
    $("#linksBody").stop(1).slideUp(600, "easeOutExpo"); 
}); 

我也想知道easeOutExpo可能会导致您的问题。尝试没有它,看看它是否有帮助?

+0

这稍微好一点,但现在我发现菜单一次卡住了,风完成了动画,除非我通过重新加载页面来重置它。如果你想看到这个新的代码是在同一链接上,jt – 2012-07-28 12:44:25

+0

查看更新的答案。 – 2012-07-28 13:06:52

+0

我添加了你的更新代码,它仍然卡住了,即使我尝试不使用easeOutExpo,你是否也得到了相同的行为? – 2012-07-28 16:00:17