微信小程序?qū)崿F(xiàn)循環(huán)動畫效果
在微信小程序的交互效果中,通常通過各種動畫效果來增強(qiáng)用戶體驗(yàn),本文通過微信小程序原生API來實(shí)現(xiàn)小程序中控件的各種動畫效果,先看下本文最終的效果:
上圖中的“關(guān)注公眾號”動畫就是我們要實(shí)現(xiàn)的效果。
為了實(shí)現(xiàn)上文中的效果,我們首先來看一下微信小程序關(guān)于動畫的官方API
微信官方API學(xué)習(xí)
wx.createAnimation(OBJECT)
說明:創(chuàng)建一個(gè)動畫實(shí)例animation。調(diào)用動畫操作方法后要調(diào)用 step() 來表示一組動畫完成,可以在一組動畫中調(diào)用任意多個(gè)動畫方法,一組動畫中的所有動畫會同時(shí)開始,一組動畫完成后才會進(jìn)行下一組動畫。最后通過動畫實(shí)例的export方法導(dǎo)出動畫數(shù)據(jù)傳遞給組件的animation屬性。
屬性方法:
主要說明一下:timingFunction
通過上述中的timingFunction值,可以設(shè)置動畫的執(zhí)行效果。
動畫和動畫方法
注:旋轉(zhuǎn)、縮放、偏移、傾斜、矩陣變形等API本文不在介紹,可參考官方API。
效果實(shí)現(xiàn)
通過上文的介紹,結(jié)合官方API文檔,已經(jīng)對創(chuàng)建動畫的方法有了基本了解,接下來,開始實(shí)現(xiàn)效果圖中的動畫效果。
1.wxml文件添加動畫屬性
在wxml中創(chuàng)建一個(gè)布局,添加動畫屬性:
<view class='pro-attention' bindtap='toAttention' animation='{{attentionAnim}}'>
<text>關(guān)注公眾號</text>
</view>
2.JS中動畫效果實(shí)現(xiàn)
Page({
data: {
attentionAnim: '',
//....其他配置
},
/**
* 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成
*/
onReady: function () {
var attentionAnim = wx.createAnimation({
duration: 150,
timingFunction: 'ease',
delay: 0
})
//設(shè)置循環(huán)動畫
this.attentionAnim = attentionAnim
var next = true;
setInterval(function () {
if (next) {
//根據(jù)需求實(shí)現(xiàn)相應(yīng)的動畫
this.attentionAnim.rotate(3).step()
next = !next;
} else {
this.attentionAnim.rotate(-3).step()
next = !next;
}
this.setData({
//導(dǎo)出動畫到指定控件animation屬性
attentionAnim: attentionAnim.export()
})
}.bind(this), 150)
},
//....
通過wx.createAnimation創(chuàng)建一個(gè)動畫,setInterval()方法執(zhí)行循環(huán)調(diào)用。至此,即可實(shí)現(xiàn)效果圖中的顯示效果。
總結(jié)
以上所述是小編給大家介紹的微信小程序循環(huán)動畫效果的實(shí)現(xiàn),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript中 ES6變量的結(jié)構(gòu)賦值
這篇文章主要介紹了JS 中ES6變量的結(jié)構(gòu)賦值的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07
javascript實(shí)現(xiàn)PC網(wǎng)頁里的拖拽效果
這篇文章主要介紹了javascript實(shí)現(xiàn)PC網(wǎng)頁里的拖拽效果的相關(guān)資料,需要的朋友可以參考下2016-03-03
JS+CSS實(shí)現(xiàn)網(wǎng)頁加載中的動畫效果
這篇文章主要為大家詳細(xì)介紹了JS+CSS實(shí)現(xiàn)網(wǎng)頁加載中的動畫效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
每天一篇javascript學(xué)習(xí)小結(jié)(String對象)
這篇文章主要介紹了javascript中的String對象知識點(diǎn),對String對象的基本使用方法,以及各種方法進(jìn)行整理,感興趣的小伙伴們可以參考一下2015-11-11

