小程序的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 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题