有沒有辦法覆蓋補間的屬性? 如果我寫mootools |覆蓋補間動畫而不會每次創建新補間
el.set('tween', {duration: ‘long’, onComplete: callback});
然後
el.set('tween', {duration: 200, onComplete: secondcallback });
我不能取代舊的屬性(回調再次觸發)
可以在不創建一個新的來解決這個問題Fx.Tween每次?
有沒有辦法覆蓋補間的屬性? 如果我寫mootools |覆蓋補間動畫而不會每次創建新補間
el.set('tween', {duration: ‘long’, onComplete: callback});
然後
el.set('tween', {duration: 200, onComplete: secondcallback });
我不能取代舊的屬性(回調再次觸發)
可以在不創建一個新的來解決這個問題Fx.Tween每次?
每次在同一個實例設置onComplete
時間,回調推並與相同的「完成」事件相關聯,每次回調將在事件被觸發後調用。
要 '取代' 的onComplete
回調,您可以使用removeEvent
,即
el.set('tween', {duration: ‘long’, onComplete: callback});
//and then...
el.get('tween')
.removeEvent('complete', callback)
.addEvent('complete', secondcallback);
我會創建兩個獨立的補間,讓他們身邊:
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');
這不是一個很好的做法,因爲mootools的提供一個Tween實例直接 '內部' 的元素,所以在OP報告的情況下,最好用removeEvent覆蓋補間實例的「完成」事件。 – stecb
完美,如果我想覆蓋持續時間或屬性的屬性? – Luke
像持續時間這樣的屬性會在每次設置它時被覆蓋,所以你只需要做el.set('tween',{duration:newDuration}); – stecb