我有一个创建的层中的对象阵列,如下所示的代码:动力学JS onFinish隐藏节点数组
var labels = layer.get('Label');
var labelCount = labelLeft.length;
var tweens = [];
var tweenCounter = 1;
var duration=5;
for(var i=0; i<labelCount; i++)
{
var tween = new Kinetic.Tween({
node: labelLeft[i],
duration: animspeed[i],
x: 0,
onFinish: function() {
if (tweenCounter !== labelCount) { //Prevent an undefined tween from being played at the end
tweens[tweenCounter].play();
tweenCounter++;
}
}
});
tweens.push(tween);
}
tweens[0].play();
的问题是,我想隐藏一旦做滚动使用onFinish离开对象。我试着用labelLeft [I] .hide()
onFinish: function() {
labelLeft[i].hide();
if (tweenCounter !== labelCount) { //Prevent an undefined tween from being played at the end
tweens[tweenCounter].play();
tweenCounter++;
}
}
但这种触发类型错误:labelLeft [i]是未定义 任何想法?请帮忙。谢谢
'return function()hide(l);'可能会产生一个错误。我知道你在做什么,但它非常接近我的解决方案。两者都会起作用,因为它们会产生封闭。 – A1rPun
@ A1rPun:老实说,我不确定我的_solution_是否可以工作。关闭是我的黑暗地区 –
他们不应该! [检查这个SO页面](http://stackoverflow.com/questions/111102/how-do-javascript-closures-work);) – A1rPun