美文网首页uni
uni中animation压屏倒计时

uni中animation压屏倒计时

作者: litielongxx | 来源:发表于2021-11-02 11:28 被阅读0次

uni是目前,微信小程序中常用的第三方框架,可以输出不限于微信小程序的多平台h5,app等。类似还有基于react的taro,而uni语法基于主流的vue2.x。


压屏倒计时

初始化animation

<view>
  <view :animation="animation">{{time}}</view>
</view>
...
const animation = uni.createAnimation({
                  duration: 1000,
                  timingFunction: 'ease', // 同等于css
                  // delay: 0
                  })

类似游戏压屏倒计时

// 每次开始前重置
animation.scale(1).step({
   duration:0
})
this.animation=animation.export() // 导出动画
// 等待重置完成
const ani=setTimeout(()=>{
      animation.scale(2).step({
        duration:1000
      })
    this.animation=animation.export()
},100)
ani()
// 或定时器替换
// new Promise((resolve,reject)=>{
//          animation.scale(1).step({
//                  duration:0
//          })
//          this.animation=animation.export()
//                      resolve()
//          }).then(()=>{
//              animation.scale(2).step({
//              duration:1000
//              })
//              this.animation=animation.export()
// })
//   这步主要实现下一次的缩放为正常的从小到大而不是;直接step后继续写会导致重置失效,表现为3,2一样大

// 数字停顿的时间
    const timer=setInterval(()=>{
        this.time--
        if(this.time<=0) {
            clearInterval(timer)
            this.time=3;
             this.animation={}
            }else{
                 ani()
    }
},1200) // 1200和1000的差为最后数字停顿的毫秒数。

相关文章

网友评论

    本文标题:uni中animation压屏倒计时

    本文链接:https://www.haomeiwen.com/subject/ilpxzltx.html