我对此非常恼火!基本上,我有一个div,最终会有一个小菜单,当你将鼠标悬停在另一个div上时,这个小div会向下移动到视图中并变得可见(mouseout会导致相反的情况).
这一切都非常好用,除非我快速鼠标悬停和鼠标移动,我得到闪烁(jQuery队列赶上,我假设).
所以基本上,有没有办法阻止这种情况发生?你能告诉jQuery类似“在这个时间点,在当前队列完成之前不要排队其他任何东西”吗?
我还是jQuery的新手.我下面的代码看起来像它应该工作,但似乎并没有停止添加队列!在这种情况下,请完全不必要地原谅x / y的愚蠢使用,这只是我在发布之前尝试的最后一件事.
有人能帮忙吗?
var x = 0;
var y = 0;
function hideme()
{
if (x == 0 && y == 0)
{
x++;
$(unimenu).fadeOut('slow');
$(unimenu).animate({top: "-40px" }, {queue: false, duration: 'slow'});
x = 0;
}
}
function showme()
{
if (y == 0 && x == 0)
{
y++
$(unimenu).fadeIn('slow');
$(unimenu).animate({top: "40px" }, {queue: false, duration: 'slow'});
y = 0;
}
}
最佳答案 我认为你要找的是停止.停止将停止以前的动画.如果在开始下一个动画之前停止以前的动画,则可以避免排队导致问题的大量动画.
您在jquery悬停页面上提到了该问题的演示.请使用stop查看该演示的此修改版本.请注意它没有问题: