微信小程序實現animation動畫,具體內容如下
1. 創建動畫實例
wx.createAnimation(OBJECT)
創建一個動畫實例animation。調用實例的方法來描述動畫。最后通過動畫實例的export方法導出動畫數據傳遞給組件的animation屬性。
注意: export 方法每次調用后會清掉之前的動畫操作
動畫隊列
調用動畫操作方法后要調用 step() 來表示一組動畫完成,可以在一組動畫中調用任意多個動畫方法,一組動畫中的所有動畫會同時開始,一組動畫完成后才會進行下一組動畫。step 可以傳入一個跟 wx.createAnimation() 一樣的配置參數用于指定當前組動畫的配置。 通過事件綁定動畫即可調用動畫執行。
創建的動畫實例可以通過調用動畫方法進行描述,調用結束后會返回自身,支持鏈式調用的寫法。
在同一個動畫實例內部,可以定義多種運動形式,并定義多個動畫綁定到不同標簽
示例代碼:
animation1: {}animation2: {}touch: function () { let animation1 = wx.createAnimation({ transformOrigin: "50% 50%", duration: 1000, timingFunction: "ease", delay: 0 }); animation1.translateX(-app.globalData.windowWidth * 0.7).step({ duration: 1000 }); this.setData({ animation1: animation1.export() }); let animation2 = wx.createAnimation({ transformOrigin: "50% 50%", duration: 1000, timingFunction: "ease", delay: 0 }); animation2.opacity(0.7).step({ duration: 1000 }); this.setData({ animation2: animation2.export() });}
2. 調用動畫執行
2.1 綁定動畫
將所創建的動畫實例綁定到相應標簽
示例代碼
<view animation="{{animation1}}"></view><view animation="{{animation2}}"></view>
2.2 觸發動畫
通過頁面事件調用動畫執行
示例代碼:
<view bindtap="touch"></view>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答