舟山闪爸电子技术有限公司

微信小程序怎么制作旋轉(zhuǎn)動畫

摘要:微信小程序自帶的API中帶有這么一個動畫組件,因此小程序制作旋轉(zhuǎn)動畫可以使用image+Animat
微信小程序怎么制作旋轉(zhuǎn)動畫

微信小程序被給予的能量是無窮的,在小程序發(fā)展逐漸成熟的當(dāng)下,小程序開發(fā)能實現(xiàn)的需求越來越完善。最近小程序中有一個圖片旋轉(zhuǎn)的需求,在微信小程序上是可以通過切換多張圖片達(dá)到旋轉(zhuǎn)的效果,但微信小程序自帶的API中帶有這么一個動畫組件,因此小程序制作旋轉(zhuǎn)動畫可以使用image+Animation來實現(xiàn)。

首先在wxml中定義image

注意其中的animation屬性,image就由它來實現(xiàn)動畫。

{{animation}}我們在jsdata中定義

data: {

animation: \'\'

},

相關(guān)代碼

var _animation;

var _animationIndex

const _ANIMATION_TIME = 500;

pages {

...

onShow: function () {

_animation =wx.createAnimation({

duration:_ANIMATION_TIME,

timingFunction: \'linear\',//linear,ease,ease-in,ease-in-out,ease-out,step-start,step-end

delay: 0,

transformOrigin:\'50% 50% 0\'

})

},

/**

* 實現(xiàn)image旋轉(zhuǎn)動畫,每次旋轉(zhuǎn) 120*n

*/

rotateAni: function (n){

_animation.rotate(120* (n)).step()

this.setData({

animation:_animation.export()

})

},

/**

* 開始旋轉(zhuǎn)

*/

startAnimationInterval:function () {

var that = this;

that.rotateAni(++_loadImagePathIndex); // 進(jìn)行一次旋轉(zhuǎn)

_animationIntervalId =setInterval(function () {

that.rotateAni(++_loadImagePathIndex);

},  _ANIMATION_TIME); // 沒間隔_ANIMATION_TIME進(jìn)行一次旋轉(zhuǎn)

},

/**

* 停止旋轉(zhuǎn)

*/

stopAnimationInterval:function () {

if (_animationIntervalId> 0) {

clearInterval(_animationIntervalId);

_animationIntervalId= 0;

}

},

}

微信自帶的Animation可以實現(xiàn)一次動畫,然后可以通過setInterval來達(dá)到不斷旋轉(zhuǎn)的目的,在使用時,控制startAnimationIntervalstopAnimationInterval即可。

微信小程序怎么制作旋轉(zhuǎn)動畫

在使用animation時,會發(fā)現(xiàn)有時候出現(xiàn)旋轉(zhuǎn)速度很快或者反向旋轉(zhuǎn)再正向旋轉(zhuǎn)的清空,這都是由于rotate的值設(shè)置有問題。

1、rotate的值應(yīng)該是上一次結(jié)束時的值,

2、如果設(shè)置了全局變量,記得在oncreate時初始化,不然第二次打開同一頁面會有問題。

注意事項:

這里為什么不直接給_animation.rotate(120 * (n)).step()設(shè)置一個足夠大的值,原因有兩點(diǎn):

1、我們需要便利的控制開始和停止,

2、animation在小程序進(jìn)入后臺后,會持續(xù)運(yùn)行,占用手機(jī)內(nèi)存和cpu,而小程序依賴于微信,在iphone上會導(dǎo)致微信被終止運(yùn)行


推薦閱讀:微信小程序通過什么方法可以檢測數(shù)據(jù)變化    微信小程序開發(fā)教程 

【本站聲明】
  1、本站文章中所選用的圖片及文字來源于網(wǎng)絡(luò)以及用戶投稿,由于未聯(lián)系到知識產(chǎn)權(quán)人或未發(fā)現(xiàn)有關(guān)知識產(chǎn)權(quán)的登記,如有知識產(chǎn)權(quán)人并不愿意我們使用,如果有侵權(quán)請立即聯(lián)系。
  2、本網(wǎng)站不對文章中所涉及的內(nèi)容真實性、準(zhǔn)確性、可靠性負(fù)責(zé),僅系客觀性描述,如您需要了解該類商品/服務(wù)詳細(xì)的資訊,請您直接與該類商品/服務(wù)的提供者聯(lián)系。


KESION 科汛軟件

KESION 科汛軟件是國內(nèi)領(lǐng)先的在線教育軟件及私域社交電商軟件服務(wù)提供商,長期專注于為企業(yè)提供在線教育軟件及社交電商SaaS平臺解決方案。
公司核心產(chǎn)品云開店SaaS社交電商服務(wù)平臺、在線教育SaaS服務(wù)平臺、教育企業(yè)數(shù)字化SaaS云平臺、企微營銷助手、私有化獨(dú)立部署品牌網(wǎng)校和在線教育咨詢等。

KESION 不斷通過技術(shù)創(chuàng)新,提供產(chǎn)品和服務(wù),助力企業(yè)向數(shù)字化轉(zhuǎn)型,通過科技驅(qū)動商業(yè)革新,讓商業(yè)變得更智慧!



▼點(diǎn)擊進(jìn)入科汛官網(wǎng)了解更多



上/下篇
  • 小程序推支付和會員功能怎么做?

  • 微信小程序 WXS

換一換相關(guān)推薦
精選內(nèi)容
熱點(diǎn)精選