animation的相关操作必须要放在setTimeout里面吗?
发布于 7 年前 作者 xiuying53 753 次浏览 来自 问答

你好,我把animation的创建放在onShow里面,即使规定了duration,在运行时,打开这个页面,动画都是瞬间完成,只有放在setTimeout里,才能体现出duration

  onShow: function () {

    var animation = wx.createAnimation({

      duration: 6000,

      timingFunction: 'linear',

      delay:500

    });

    this.animation = animation;

    animation.translate(150,0).step({duration:6000,delay:1000});

    this.setData({

      animationData:animation.export()

    })

    this.animation =  animation;

    setTimeout(function () {

      animation.translate(-Number(this.data.announcementText.length)*14, 0).step();

      this.setData({

        animationData: animation.export()

      })

    }.bind(this), 1000)

  },

2 回复

谢邀。

不用专门setTimeOut但是同一个动画你得完成后,渲染好后再export

onReady里 或者setData的回调里

回到顶部