我有一个JQuery下拉菜单,当我们将鼠标悬停在菜单上时,这个问题很难解释。当我们多次悬停顶部菜单时,它一直是动画,您可以通过将光标移动到“我们的服务”,“位置”菜单连续大约10次,15次来看。
这是你可以检查的JSfiddle .. http://jsfiddle.net/bKxXZ/13/
下面给出了JQuery代码(之前的代码是我的堆栈朋友gilly3之一)
$(function() {
$("ul.topnav li:has(.subnav)").hover(function() {
$("ul.subnav", this).slideDown('fast').show();
}, function() {
$("ul.subnav", this).slideUp('slow');
});
});
答案 0 :(得分:1)
您需要使用stop(true,true)
这样的功能:
$(function() {
$("ul.topnav li:has(.subnav)").hover(function() {
$("ul.subnav", this).stop(true,true).slideDown('fast').show();
}, function() {
$("ul.subnav", this).slideUp('slow');
});
});
请注意它在slideDown
答案 1 :(得分:1)
您可以在运行下一个动画之前使用stop(true,true)函数以避免排队的动画,请参阅此处的更新:http://jsfiddle.net/bKxXZ/15/