问题描述
实现一个渐渐显示的动画,使用animation的opacity从0到1,为什么要加个setTimeout才会出现动画效果?我的代码如下:
相关代码
1.下面的function不行
open() { //动画打开方法 但是这个没有效果
let animation = this.animation;
animation.opacity(0).step();
this.setData({
animationData: animation.export(),
show: true
});
animation.opacity(1).step();
this.setData({
animationData: animation.export(),
})
},
2.加了setTimeout的
open() { //调用此方法动画正常
let animation = this.animation;
animation.opacity(0).step();
this.setData({
animationData: animation.export(),
show: true
});
setTimeout(()=>{
animation.opacity(1).step();
this.setData({
animationData: animation.export(),
})
}, 50);
},
!!!所以这是什么鬼原因?
不加,就只执行一次,没有步进的中间过程,当然就不是动画效果啦。