dojo/_base/fx 是否支持承诺?
Does dojo/_base/fx support promises?
我需要在 dom 元素上的动画结束后执行一个方法。
目前我正在使用以下代码但没有成功。
我想知道dojo是否支持动画的promise,如果没有,我想知道我可以用什么方法来解决。
fx.fadeOut({ node: 'target'}).play().then(function () {
// do smt here
}.bind(this));
我能够使用 'dojo/on'
并订阅 fx.fadeOut()
上的 End
事件来解决这个问题。我仍然很想了解是否有更好的方法来获得相同的结果。
var anim = fx.fadeOut({ node: 'target'}).play();
on(anim, "End", function () {
// dom smt here
}.bind(this));
是的,您可以使用 FadeOut
函数的已注册回调。
fadeOut
(dojo/_base/fx
函数其中returns一个动画实例)
提供 5 个已注册的回调函数:
- 开始前
- 开始时
- onEnd
- 播放
- onAnimate(带参数)
在你的情况下,你需要在动画完成后做一些动作,所以在 FadOut
参数中传递 onEnd
函数,它应该看起来像:
fx.fadeOut({
node:"target",
onEnd: function(){
// Some stuff at the end of the animation.
}
}).play();
你也可以使用上面的回调作为参数。
我需要在 dom 元素上的动画结束后执行一个方法。 目前我正在使用以下代码但没有成功。
我想知道dojo是否支持动画的promise,如果没有,我想知道我可以用什么方法来解决。
fx.fadeOut({ node: 'target'}).play().then(function () {
// do smt here
}.bind(this));
我能够使用 'dojo/on'
并订阅 fx.fadeOut()
上的 End
事件来解决这个问题。我仍然很想了解是否有更好的方法来获得相同的结果。
var anim = fx.fadeOut({ node: 'target'}).play();
on(anim, "End", function () {
// dom smt here
}.bind(this));
是的,您可以使用 FadeOut
函数的已注册回调。
fadeOut
(dojo/_base/fx
函数其中returns一个动画实例)
提供 5 个已注册的回调函数:
- 开始前
- 开始时
- onEnd
- 播放
- onAnimate(带参数)
在你的情况下,你需要在动画完成后做一些动作,所以在 FadOut
参数中传递 onEnd
函数,它应该看起来像:
fx.fadeOut({
node:"target",
onEnd: function(){
// Some stuff at the end of the animation.
}
}).play();
你也可以使用上面的回调作为参数。