我需要在dom元素上的動畫結束後執行方法。 目前我使用下面的代碼沒有成功。dojo/_base/fx支持承諾嗎?
我想知道如果道場,支持承諾的動畫,如果沒有,我想知道我能以哪種方式工作。
fx.fadeOut({ node: 'target'}).play().then(function() {
// do smt here
}.bind(this));
我需要在dom元素上的動畫結束後執行方法。 目前我使用下面的代碼沒有成功。dojo/_base/fx支持承諾嗎?
我想知道如果道場,支持承諾的動畫,如果沒有,我想知道我能以哪種方式工作。
fx.fadeOut({ node: 'target'}).play().then(function() {
// do smt here
}.bind(this));
是的,你可以使用FadeOut
功能的註冊回調。
的fadeOut
(dojo/_base/fx
函數返回一個annimation實例) 提供5個registred回調函數:
你的情況,你需要做的時候動畫完成一些動作已經過時了在FadOut
參數的onEnd
功能,它應該看起來像:
fx.fadeOut({
node:"target",
onEnd: function(){
// Some stuff at the end of the animation.
}
}).play();
你也可以用上面的回調爲ARGS。
我能解決使用'dojo/on'
和訂閱到End
事件上fx.fadeOut()
這個問題。我仍然很有興趣瞭解是否有更好的方法來達到同樣的結果。
var anim = fx.fadeOut({ node: 'target'}).play();
on(anim, "End", function() {
// dom smt here
}.bind(this));