mootools |覆盖补间的属性,而不是每次都创建新的补间

时间:2011-07-01 16:47:59

标签: mootools javascript tween

有没有办法覆盖补间的属性? 如果我写

el.set('tween', {duration: ‘long’, onComplete: callback});

然后

el.set('tween', {duration: 200, onComplete: secondcallback });

我无法替换旧属性(再次触发回调)

可以在没有每次创建新的Fx.Tween的情况下解决此问题吗?

2 个答案:

答案 0 :(得分:2)

每次在同一个实例上设置onComplete时,都会推送回调并将其与相同的“完整”事件相关联,并在事件触发后调用每个回调。

要“替换”onComplete回调,您可以使用removeEvent,即

el.set('tween', {duration: ‘long’, onComplete: callback});

//and then...

el.get('tween')
    .removeEvent('complete', callback)
    .addEvent('complete', secondcallback);

demo => http://jsfiddle.net/NNzQ7/

答案 1 :(得分:0)

我会创建两个独立的补间并保持它们:

var fx1 = new Fx.Tween(element, {onComplete: callback});
var fx2 = new Fx.Tween(element, {onComplete: anothercallback});

然后你可以单独使用它们:

fx1.start('background-color', 'cyan', 'red');
fx2.start('background-color', 'red', 'cyan');