微信小程序動畫組件使用解析,類似vue,且更強(qiáng)大

演示

創(chuàng)新互聯(lián)公司長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為清苑企業(yè)提供專業(yè)的網(wǎng)站制作、網(wǎng)站建設(shè),清苑網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

演示1

微信小程序動畫組件使用解析,類似vue,且更強(qiáng)大

演示2

微信小程序動畫組件使用解析,類似vue,且更強(qiáng)大

演示3

微信小程序動畫組件使用解析,類似vue,且更強(qiáng)大 

一、功能描述

1、預(yù)設(shè)過渡

  • 支持區(qū)分enter、leave
  • 支持預(yù)設(shè)過渡的組合
  • 特別強(qiáng)調(diào):支持元素展開、閉合的過渡。name=='slide'或['slide'[,]],即可實(shí)現(xiàn),無需外部傳height
  • 支持外部傳類來過渡或動畫
/* 預(yù)留過渡 */
/**
*1、fade
*2、移動:up,right,down,left四個(gè)方向
*3、scale縮放:默認(rèn)是從0->1,還預(yù)設(shè)了一個(gè)從1->1.2的
*4、rotate旋轉(zhuǎn)。順時(shí)針旋轉(zhuǎn)。角度用以上方向來指示。如果逆時(shí)針中間加上reserve。
如rotate-right表示選擇180度,rotate-down-reserve表示逆時(shí)針旋轉(zhuǎn)90度。
預(yù)設(shè)了,90,180,270,360;-90.-180,-270,-360角度的旋轉(zhuǎn)
*5、slide:內(nèi)容塊張開還是隱藏。 √

*說明:以上是整體過渡的單元:傳name的時(shí)候,可以多個(gè)組合,形成更加復(fù)雜的過渡。
*如果這些組合,還不夠你的使用,可以部分或全部過渡通過外部傳類來實(shí)現(xiàn)。
*/

2、蒙層相關(guān)功能

  • 無蒙層:mask:0。//此時(shí)過渡元素為卡槽
  • 透明蒙層1:mask:1。//此時(shí)過渡元素為卡槽。如:左移100%,只是移動卡槽寬度的100%
  • 透明蒙層2:mask:2。//此時(shí)過渡元素為蒙層。如:左移100%,則是移動蒙層寬度的100%
  • 半透明蒙層3:mask:3。///此時(shí)過渡元素為蒙層。如:彈窗上移,則是蒙層上移。
  • 半透明蒙層4:mask:4。///此時(shí)過渡元素為卡槽。如:彈窗上移,則是蒙層自身是縮放。卡槽上移

3、卡槽樣式完美設(shè)置

  • 由以上可知。蒙層由多種情況。但
  • 完美支持百分比設(shè)置:外部傳custom-class即可

4、其它細(xì)節(jié)

  • 完美支持自定義top、tab導(dǎo)航情況
  • 蒙層(包括透明蒙層)下,預(yù)設(shè)5個(gè)布局位置:結(jié)合方向等,可實(shí)現(xiàn)左右抽屜、上下彈出、中間淡入淡出等效果
  • 支持leave動畫結(jié)束后,通知父節(jié)點(diǎn):可實(shí)現(xiàn)多節(jié)點(diǎn)聯(lián)動。如:手風(fēng)琴效果

5、支持所有的節(jié)點(diǎn)。包括組件作為卡槽內(nèi)容

  • 對需要?jiǎng)赢嫷脑?組件套上這個(gè)組件即可實(shí)現(xiàn)過渡動畫
  • 其實(shí)整個(gè)小程序頁面做進(jìn)入過渡,也挺炫酷的。類似支付寶頁面進(jìn)螞蟻森林

二、可傳屬性(可配置項(xiàng))

過渡相關(guān)類

externalClasses: [
'enter-class',
'enter-active-class',
'enter-to-class',
'leave-class',
'leave-active-class',
'leave-to-class',
],

內(nèi)容(卡槽)樣式

externalClasses:[
'custom-class',
]

說明:完美支持像素、百分比、或者absolute的設(shè)置

配置項(xiàng)

properties: {
name: {
type: [String,Object,Array],//支持區(qū)分enter、leave過渡
value:{
enter:{
type:[String,Array],
value:['up','fade'],//支持傳數(shù)組,即內(nèi)設(shè)的過渡,可組合
},
leave:"fade"
 }
},
show: {
 type: Boolean,
 value: false
},
duration: { //run Time ms
 type: [String,Number,Object],//`過渡時(shí)間,支持區(qū)分enter、leave。如果enter不需要過渡,enter:0即可`
 value:{
  enter:300,
  leave:300,
 }
},
//leave過渡之后狀態(tài)是否保留。而不是display:none
//帶有mask,避免影響頁面操作。這邊強(qiáng)制禁止保留狀態(tài)。適用于非mask的情況。mask:0和1、2(1、2是全透明的,設(shè)置了屬性雖然不會影響頁面操作。建議不宜保留)
retain:{
 type:Boolean,
 value:false
},
mask: { //`支持選蒙層類型:預(yù)設(shè)5中類型` 以下四個(gè)個(gè)是配套的,針對mask的配置
 type: [String,Number],//如果為0,表示沒有蒙層。1、2:全透明蒙層
 value: '0',
},
//頂部的margin。如果沒有自定義navBar或tabBar則,fixed區(qū)域?yàn)橹虚g的可視區(qū)域。否則為中間可視區(qū)域+自定義bar區(qū)域。
//因此為了兼容,如果自定義了bar,則要傳值進(jìn)來修正蒙層的區(qū)域。
margin:{//記得帶上單位哦。
 type: Object,
 value:{
  top:'0px',
  bottom:'0px',}
},
position: { //`支持卡槽位置:top、right、bottom、left、center`如果有mask,則mask中的卡槽位置是哪里。如果要再偏移,則外部卡槽使用margin來實(shí)現(xiàn)即可
 type: String,
 value: "right",
},
close: { //如果有mask,點(diǎn)擊Mask是否關(guān)閉蒙層
 type: Boolean,
 value: false
}

三、完整代碼(demo)

git代碼

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

分享文章:微信小程序動畫組件使用解析,類似vue,且更強(qiáng)大
文章轉(zhuǎn)載:http://muchs.cn/article22/gdgsjc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、做網(wǎng)站、全網(wǎng)營銷推廣、網(wǎng)站營銷、網(wǎng)站導(dǎo)航、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)