我有一个动画以4个步骤运行,当4个步骤结束时,我希望它重新启动。
var aSteps = [
{
"x": "800",
"y": "0"
},
{
"x": "800",
"y": "500"
},
{
"x": "0",
"y": "500"
}, {
"x": "0",
"y": "0"
}
];
var iStepsLength = aSteps.length;
for (var i = 0; i < iStepsLength; i++)
{
$('#P1').animate
({
left: aSteps[i].x,
top: aSteps[i].y,
}, 1000);
}
我试图添加一个if语句。
if (i == 3)
{
i=0;
}
但是然后我的浏览器将崩溃,因为它无限运行for循环。我希望您能帮助我,并告诉我我做错了什么。
.animate()
可以采取回调,动画结束时将调用该回调:
function animateSteps( counter ) {
$('#P1').animate({
left: aSteps[ counter ].x,
top: aSteps[ counter ].y,
}, 1000, function(){
if (counter == 3)
{
counter=0;
}
animateSteps( counter + 1 );
});
}
animateSteps( 0 );
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句