我非常抱歉又问了一个匿名函数问题,但是每次我弄清楚它们时,javascript都会给我抛出另一个曲线球。
我正在使用KineticJS创建许多圆圈,然后像这样为它们设置动画(按照这些教程)
for ( i = 0; i < rows; i++ )
{
for ( j = 0; j < cols; j++ )
{
index = i * cols + j;
circles [ index ] = new Kinetic.Circle({...});
...
}
}
...
for ( i = 0; i < rows; i++ )
{
for ( j = 0; j < cols; j++ )
{
index = i * cols + j;
anims [ index ] = new Kinetic.Animation({func: function ( frame )
{
( function ( innerCircle )
{
...
} ( circles [ index ] ) );
},
node: layer
}
);
}
}
我的意图是index
在创建匿名函数时传递当前值。问题是只有最后一张图片是动画的,我不知道为什么。这是完整的jsfiddle