weex的animation动画怎么设置连续的

weex的animation动画怎么设置连续的
官方文档介绍太少了

阅读 1.8k
评论
    5 个回答
    • 3
    • 新人请关照

    是指循环的话,使用setInterval()实现就行。

      • 1
      • 新人请关照

      我也碰到这个问题,如果写在setInterval()中,动画只会播放一次,定时器还在走,函数不断的被调用。

        • 1
        • 新人请关照

        我在uniapp中解决的方法是在你需要变化的数值后加上一个极小的随机数 即 Math.random()*0.01;
        而且在变化的其中一个因素中加上随机数即可;
        有遇到的问题的可以参考一下

                handleStartAnimation(){
                    let animation =wx.createAnimation({
                        duration:'600',
                        timingFunction:"linear",
                    }),
                    go=true,
                    big=1.2,
                    samll=1;
                    let timer=setInterval(()=>{
                        animation.scale(1.15+Math.random()*0.01).step();
                        animation.scale(1).step();
                        this.animationData=animation.export();
                    },1210)
                }

          在动画完成的回调函数重置初始位置,再执行动画不就可以了。

             startAnim() {
                            var that = this
                            var love = this.$refs.love;
                            animation.transition(love, {
                                styles: {
                                    transform: `rotate(${that.mAngel}deg)`,
                                    transformOrigin: 'center center'
                                },
                                duration: 5000,
                                timingFunction: 'liner',
                                delay: 0
                            }, function () {
                                that.mAngel += 360
                                that.startAnim()
                            })
                        }
              撰写回答

              登录后参与交流、获取后续更新提醒