微信小程序:Animation實(shí)現(xiàn)圖片旋轉(zhuǎn)動畫

首先在wxml中定義image

<image animation="{{animationData}}" class='circle' src='/img/monitor/circle.png'/>

{{animationData}}我們在jsdata中定義

data: {
   animationData: {},
 },

相關(guān)代碼

var _animationIndex = 0; // 動畫執(zhí)行次數(shù)index(當(dāng)前執(zhí)行了多少次)
var _animationIntervalId = -1; // 動畫定時任務(wù)id,通過setInterval來達(dá)到無限旋轉(zhuǎn),記錄id,用于結(jié)束定時任務(wù)
const _ANIMATION_TIME = 4000; // 動畫播放一次的時長ms
Page({
  
  data: {
    animationData: {},
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽頁面顯示
   */
  onShow: function () {
    var animation = wx.createAnimation({
      duration: _ANIMATION_TIME,
      timingFunction: 'linear', // "linear","ease","ease-in","ease-in-out","ease-out","step-start","step-end"
      delay: 0,
      transformOrigin: '50% 50% 0'
    })
    this.animation = animation
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
   */
  onReady: function () {
    _animationIndex = 0;
    _animationIntervalId = -1;
    this.startAnimationInterval()
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽頁面卸載
   */
  onUnload: function () {
    this.stopAnimationInterval()
  },

  /**
    * 開始旋轉(zhuǎn)
   */
  startAnimationInterval: function () {
    var that = this;
    that.rotateAni(++_animationIndex); // 進(jìn)行一次旋轉(zhuǎn)
    _animationIntervalId = setInterval(function () {
      that.rotateAni(++_animationIndex);
    }, _ANIMATION_TIME); // 每間隔_ANIMATION_TIME進(jìn)行一次旋轉(zhuǎn)
  },

  /**
   * 實(shí)現(xiàn)image旋轉(zhuǎn)動畫,每次旋轉(zhuǎn) 360*n度
   */
  rotateAni: function (n) {
    this.animation.rotate(360 * (n)).step()
    this.setData({
      animationData: this.animation.export()
    })
  },

  /**
   * 停止旋轉(zhuǎn)
   */
  stopAnimationInterval: function () {
    if (_animationIntervalId > 0) {
      clearInterval(_animationIntervalId);
      _animationIntervalId = 0;
    }
  },

})

參考:https://blog.csdn.net/andy_5826_liu/article/details/84207916

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容