溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序動畫(Animation)的實現(xiàn)及執(zhí)行步驟

發(fā)布時間:2020-08-21 15:19:53 來源:腳本之家 閱讀:338 作者:FlyLolo 欄目:web開發(fā)

簡單總結(jié)一下微信動畫的實現(xiàn)及執(zhí)行步驟。

一、實現(xiàn)方式

官方文檔是這樣說的:①創(chuàng)建一個動畫實例 animation。②調(diào)用實例的方法來描述動畫。③最后通過動畫實例的 export 方法導(dǎo)出動畫數(shù)據(jù)傳遞給組件的 animation 屬性。

因為小程序是數(shù)據(jù)驅(qū)動的,給這句話加上數(shù)字標(biāo)注分為三步:

微信小程序動畫(Animation)的實現(xiàn)及執(zhí)行步驟

前兩步是定義一個動畫并設(shè)置都要干什么,然后把這個設(shè)置好的“規(guī)則”扔給界面上的某個元素,讓它按照這個規(guī)則執(zhí)行。

當(dāng)然如果有多個元素的animation="{{ani}}",也都會執(zhí)行這個動畫規(guī)則。

二、用例子說話

新建一個小程序,把沒用的刪掉修改一下,做個簡單例子,上圖

微信小程序動畫(Animation)的實現(xiàn)及執(zhí)行步驟

代碼如下:

index.wxml,一個helloworld,一個按鈕

<view class="container">
 <view class="usermotto" animation="{{ani}}">
  <text class="user-motto">{{motto}}</text>
 </view>
 <button bindtap='start'>動畫</button>
</view>

index.wxss, 為了看著方便加了個邊框

.usermotto {
 margin-top: 100px;
 border: solid;
}

index.js

Page({
 data: {
  motto: 'Hello World',
 },
 start:function(){
  var animation = wx.createAnimation({
   duration: 4000,
   timingFunction: 'ease',
   delay: 1000
  });
  animation.opacity(0.2).translate(100, -100).step()
  this.setData({
   ani: animation.export()
  })
 }
})

 三、相關(guān)參數(shù)及方法

簡單介紹一下例子中的幾個參數(shù)和方法(其他的詳見官方文檔):

      duration: 動畫持續(xù)多少毫秒
      timingFunction: “運(yùn)動”的方式,例子中的 'ease'代表動畫以低速開始,然后加快,在結(jié)束前變慢 
      delay: 多久后動畫開始運(yùn)行

      opacity(0.2) 慢慢變透明

      translate(100, -100) 向X軸移動100的同時向Y軸移動-100

      step(): 一組動畫完成,例如想讓上例中的HelloWorld向右上方移動并變透明后,再次向左移動50可以繼續(xù)寫 animation.translateX( -50).step() , 作用就是向右上方移動和變透明是同時進(jìn)行, 這兩種變化完成之后才會進(jìn)行向左運(yùn)行的一步。

例子:Github

總結(jié)

以上所述是小編給大家介紹的微信小程序動畫(Animation)的實現(xiàn)及執(zhí)行步驟,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI