请看这个jsfiddle:http: //jsfiddle.net/kZA8D/
基本上,每当我快速通过/通过链接时,都会出现college_box 和landing_login_form div。重现可能需要几次,但最终看起来像这样:
这是怎么回事?我有一个简单的悬停功能,我不明白为什么会发生这种故障......
请看这个jsfiddle:http: //jsfiddle.net/kZA8D/
基本上,每当我快速通过/通过链接时,都会出现college_box 和landing_login_form div。重现可能需要几次,但最终看起来像这样:
这是怎么回事?我有一个简单的悬停功能,我不明白为什么会发生这种故障......
更新链接:http: //jsfiddle.net/J67Dr/1/
这是一个排队问题,在这种情况下.stop()
不会解决它,因为它有两个不同的元素。因此,您最终会遇到一个元素被隐藏但仍然有动画排队而另一个元素正在制作动画的情况。我建议您将两者.stop()
用作最佳实践并.dequeue
在小提琴中显示。
选项 2
仅使用.stop
但淡化包装元素而不是项目本身。由于有些奇怪(请参阅评论),我推荐选项 2。试图保留您的 DOM,但是很好。
正如在另一个答案中提到的,在 Que 中有动画,并且由于您没有删除它们,因此它们会像您经历的那样堆叠。解决此问题的方法是.stop(true)
停止在您附加该方法的元素上的动画并清除 que(因此“真实”)
这个小提琴: http: //jsfiddle.net/kZA8D/4/ 修复了它,(你的小提琴的一个小改写)但它由于回调函数而出错。
发生这种情况是因为一旦您添加了一些其他动画,事件队列上仍有动画。您可能想看看.stop()
jQuery 的函数。
基本上,一个动画在另一个动画完成之前开始。
我更新了你的小提琴来解决这个问题。一秒。