我在与jQuery的stop()
搞混,最后以无限循环结束。 这个想法是(只是出于实验)创建一个带有“step”条件的动画,它将检查元素的css属性是否达到了某个值,并且在这种情况下,将动画停止在其轨道中,清除队列并立即完成动画。用jQuery无限循环.stop()
我知道这可能听起来很愚蠢,因为它可能不是.stop()
的意思,但我想你可能会给我一个这种意外行为的答案。
下面的代码:
$("#element").animate({
"width": "500px",
"height": "130px"
}, {
"duration": 850,
"step": function() {
var currentWidth = $(this).width();
if(currentWidth >= 295) $(this).stop(true, true);
}
}).slideUp(700);
我发现了无限循环由第二true
传递给stop()
造成的 - 也就是说,它告诉动画的参数立即完成。
它可能与'step'功能有关,但任何人都可以解释我这种行为吗?
谢谢你,我不完全了解,虽然你的答案,让我们看看,如果我得到主穴:当我打电话.stop(真,真)动画运行一次多为最后的时间和执行“步骤“...在”步骤“中.stop被再次调用并导致动画再次运行,最后一次......等等,并创建一个无限循环......是否正确?另外,你能否提供一些代码,说明如何正确实现我想要的?非常感谢你。 – user1236489 2012-03-29 13:02:22