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

