微信小程序動(dòng)畫(Animation)的實(shí)現(xiàn)及執(zhí)行步驟
簡(jiǎn)單總結(jié)一下微信動(dòng)畫的實(shí)現(xiàn)及執(zhí)行步驟。
一、實(shí)現(xiàn)方式
官方文檔是這樣說的:①創(chuàng)建一個(gè)動(dòng)畫實(shí)例 animation。②調(diào)用實(shí)例的方法來描述動(dòng)畫。③最后通過動(dòng)畫實(shí)例的 export 方法導(dǎo)出動(dòng)畫數(shù)據(jù)傳遞給組件的 animation 屬性。
因?yàn)樾〕绦蚴菙?shù)據(jù)驅(qū)動(dòng)的,給這句話加上數(shù)字標(biāo)注分為三步:

前兩步是定義一個(gè)動(dòng)畫并設(shè)置都要干什么,然后把這個(gè)設(shè)置好的“規(guī)則”扔給界面上的某個(gè)元素,讓它按照這個(gè)規(guī)則執(zhí)行。
當(dāng)然如果有多個(gè)元素的animation="{{ani}}",也都會(huì)執(zhí)行這個(gè)動(dòng)畫規(guī)則。
二、用例子說話
新建一個(gè)小程序,把沒用的刪掉修改一下,做個(gè)簡(jiǎn)單例子,上圖

代碼如下:
index.wxml,一個(gè)helloworld,一個(gè)按鈕
<view class="container">
<view class="usermotto" animation="{{ani}}">
<text class="user-motto">{{motto}}</text>
</view>
<button bindtap='start'>動(dòng)畫</button>
</view>
index.wxss, 為了看著方便加了個(gè)邊框
.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ù)及方法
簡(jiǎn)單介紹一下例子中的幾個(gè)參數(shù)和方法(其他的詳見官方文檔):
duration: 動(dòng)畫持續(xù)多少毫秒
timingFunction: “運(yùn)動(dòng)”的方式,例子中的 'ease'代表動(dòng)畫以低速開始,然后加快,在結(jié)束前變慢
delay: 多久后動(dòng)畫開始運(yùn)行
opacity(0.2) 慢慢變透明
translate(100, -100) 向X軸移動(dòng)100的同時(shí)向Y軸移動(dòng)-100
step(): 一組動(dòng)畫完成,例如想讓上例中的HelloWorld向右上方移動(dòng)并變透明后,再次向左移動(dòng)50可以繼續(xù)寫 animation.translateX( -50).step() , 作用就是向右上方移動(dòng)和變透明是同時(shí)進(jìn)行, 這兩種變化完成之后才會(huì)進(jìn)行向左運(yùn)行的一步。
例子:Github
總結(jié)
以上所述是小編給大家介紹的微信小程序動(dòng)畫(Animation)的實(shí)現(xiàn)及執(zhí)行步驟,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
asp.net中System.Timers.Timer的使用方法
asp.net中System.Timers.Timer的使用方法,需要的朋友可以參考一下2013-03-03
Uniapp如何封裝網(wǎng)絡(luò)請(qǐng)求方法demo
這篇文章主要為大家介紹了Uniapp如何封裝網(wǎng)絡(luò)請(qǐng)求方法demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
JS實(shí)現(xiàn)彩色圖片轉(zhuǎn)換為黑白圖片的3種方法
本文主要介紹了JS實(shí)現(xiàn)彩色圖片轉(zhuǎn)換為黑白圖片的3種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09
javascript之學(xué)會(huì)吝嗇 精簡(jiǎn)代碼
前端開發(fā),要學(xué)會(huì)吝嗇:2010-04-04
JS實(shí)現(xiàn)文字向下滾動(dòng)完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)文字向下滾動(dòng)的方法,以一個(gè)完整實(shí)例形式詳細(xì)分析了html頁(yè)面布局、css樣式及對(duì)應(yīng)的js滾動(dòng)功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2015-02-02
微信小程序如何實(shí)現(xiàn)精確的日期時(shí)間選擇器
這篇文章主要介紹了微信小程序如何實(shí)現(xiàn)精確的日期時(shí)間選擇器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01

