2
使用jQuery 1.7.2如何停止()的动画,但允许当前完成
$(function(){
$('#parentElem').mouseenter(function(){
$('.myElem').animate({opacity:1}, 'fast');
}).mouseleave(function(){
$('.myElem').stop().animate{opacity:0}, 'slow');
});
});
在这个例子中,我有淡入上mouseenter
事件后暂停,并再次淡出元素(在mouseout
)给予悸动效果。
但是我有一个问题 - 使用.stop()
方法,当前正在运行的动画将被中断并再次退出 - 我的'throb'效果不起作用。当然,这正是.stop()
为为 - 但是我真正想要做的就是清除队列并让当前动画完成,同时向队列中添加淡出动画。
任何想法?
P.S我也尝试了.clearQueue()
方法,但这表现出类似的行为。
编辑: 我真的应该提到的东西 - 我需要在游标结束时保持淡入的元素 - 所以使用animate函数的回调不会解决它。我更新了代码以使其更加明显。对不起,有任何困惑。
很好的答案,谢谢。我现在正在额头上拍掌,因为我没有正确解释问题 - 对不起。请参阅更新后的问题 – jammypeach 2012-01-09 11:57:23
@jammypeach没问题,答案已更新。 – 2012-01-09 12:04:08
很优雅,谢谢。这对我来说很有效 - 你在stopAnimation的if测试中在动画中缺少一个开放的括号:) – jammypeach 2012-01-09 12:07:06