jQuery转换没有完成

所以我在图像翻转中添加了一些过渡:

$(document).ready(function(){ $('.project').hover(function(){ $(this).children('.description').stop().slideDown('fast'); }, function(){ $(this).children('.description').stop().slideUp('fast'); }); }); 

然而,有时描述框只滑动到一半,或者甚至只是它应该滑动的长度的十分之一…描述框是300乘300px,并且应该滑入一个300x300px的盒子……

如果我很快将鼠标hover在.project上,可能会发生这种情况,是否可以将stop()添加到队列中,从而在不应该停止的情况下停止它?

如果您想要立即完成动画stop( true, true )请尝试stop( true, true )如果您不想完成动画stop( true, true )请尝试stop( true, true ) stop( true, false ) ,只需将其反转即可。 第一个true将清除队列,以便动画可以重新开始。 我不完全确定为什么会出错,我为无法给出更完整的答案而道歉但是现在我无法查找它。 你可以在这里阅读更多相关信息: http : //api.jquery.com/stop/ ,我发现jQuery API通常非常有用。

我在jsfiddle上创建了一个例子http://jsfiddle.net/gizmovation/TpqvT/

通过快速进入和退出项目容器,我能够使描述框显示在中途。

发生这种情况是因为stop()正在暂停上一个动画,然后你开始一个新的动画。 如其他答案所述,传递stop(true, true)将使事情看起来更好一些。

动画完全悬挂有问题吗? 如果是这样,修改我创建的jsfiddle以更好地说明问题,我们可以提供进一步的帮助。