下面的代码基本上使div来回动画。然后,我希望动画在悬停时停止。如果我删除以下行,它将起作用:“$(”。block“)。animate({left:'0px'},1,animate);”但是然后div只动画一次,这不是我想要的。那么,如何保留.stop()功能但仍使动画无限循环?

$(function animate(){
$(".block").animate({left: '+=500px'}, 2000);
$(".block").animate({left: '0px'}, 1, animate);
});

$(".block").hover(function(){
$(".block").stop();
$(".block").animate({ width:"20%", height:"20%"}, 500 );
});

最佳答案

更新了

不知道:

$(".block").stop( true, true );

是您要寻找的。

第一个true清除队列,最后一个true跳到动画队列的末尾,从而有效地结束了动画。
$(".block").stop( true );

这将清除队列,但不会跳到最后。

关于jquery - 如何停止动画循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6331448/

10-12 07:27
查看更多