有没有办法覆盖补间的属性? 如果我写
el.set('tween', {duration: ‘long’, onComplete: callback});
然后
el.set('tween', {duration: 200, onComplete: secondcallback });
我无法替换旧属性(再次触发回调)
可以在没有每次创建新的Fx.Tween的情况下解决此问题吗?
答案 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');