小程序的animation动画问题,感觉好奇怪啊

问题描述

实现一个渐渐显示的动画,使用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);
},

!!!所以这是什么鬼原因?

阅读 1.9k
1 个回答

不加,就只执行一次,没有步进的中间过程,当然就不是动画效果啦。

推荐问题