【发布时间】:2018-12-27 23:59:54
【问题描述】:
我有一个这样的数组:
var myArray = array(
[0] => array(
[0]=>{reel:2, location:1}
[1]=>{reel:1, location:7}
)
[1] => array(
[0]=>{reel:2, location:1}
[1]=>{reel:3, location:6}
[2]=>{reel:1, location:5}
)
);
需要在上述数组中的每个项目上放置动画,因此我在数组上运行 for 循环并在其中调用动画函数。
for(var j=0; j < myArray.length; j++){
animateItems(myArray[j]);
}
function animateItems(params){
for(var p = 0; p < params.length; p++){
params[p].reelEl.animations.add('highlightAnim');
params[p].reelEl.animations.play('highlightAnim', 13, true);
}
}
但问题是所有项目动画同时发生,但我需要它们一个接一个。
试图做这样的事情但没有帮助:
for(var j=0; j < myArray.length; j++){
(function() {
setTimeout(function(){animateItems(myArray[j]);}, j * 1000);
})(j);
}
似乎我做错了什么。任何想法将不胜感激。
【问题讨论】:
标签: javascript jquery arrays settimeout phaser-framework