微信小程序自定義底部彈出框動(dòng)畫(huà)
微信小程序之自定義底部彈出框動(dòng)畫(huà),供大家參考,具體內(nèi)容如下
最近做小程序時(shí),會(huì)經(jīng)常用到各種彈框。直接做顯示和隱藏雖然也能達(dá)到效果,但是體驗(yàn)性太差,也比較簡(jiǎn)單粗暴。想要美美地玩,添加點(diǎn)動(dòng)畫(huà)還是非常有必要的。下面做一個(gè)底部上滑的彈框。
wxml
<view class="modals modals-bottom-dialog" hidden="{{hideModal}}"> <view class="modals-cancel" bindtap="hideModal"></view> <view class="bottom-dialog-body bottom-pos" animation="{{animationData}}"></view> </view> <button bindtap="showModal">點(diǎn)我</button>
wxss
/*模態(tài)框*/ .modals { position: fixed; z-index: 999; top: 0; left: 0; right: 0; bottom: 0; } .modals-cancel { position: absolute; z-index: 1000; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, .5); } .bottom-dialog-body { position: absolute; z-index: 10001; bottom: 0; left: 0; right: 0; padding: 30rpx; height: 800rpx; background-color: #fff; } /*動(dòng)畫(huà)前初始位置*/ .bottom-pos { -webkit-transform: translateY(100%); transform: translateY(100%); }
js
Page({ data:{ hideModal:true, //模態(tài)框的狀態(tài) true-隱藏 false-顯示 animationData:{},// }, // 顯示遮罩層 showModal: function () { var that=this; that.setData({ hideModal:false }) var animation = wx.createAnimation({ duration: 600,//動(dòng)畫(huà)的持續(xù)時(shí)間 默認(rèn)400ms 數(shù)值越大,動(dòng)畫(huà)越慢 數(shù)值越小,動(dòng)畫(huà)越快 timingFunction: 'ease',//動(dòng)畫(huà)的效果 默認(rèn)值是linear }) this.animation = animation setTimeout(function(){ that.fadeIn();//調(diào)用顯示動(dòng)畫(huà) },200) }, // 隱藏遮罩層 hideModal: function () { var that=this; var animation = wx.createAnimation({ duration: 800,//動(dòng)畫(huà)的持續(xù)時(shí)間 默認(rèn)400ms 數(shù)值越大,動(dòng)畫(huà)越慢 數(shù)值越小,動(dòng)畫(huà)越快 timingFunction: 'ease',//動(dòng)畫(huà)的效果 默認(rèn)值是linear }) this.animation = animation that.fadeDown();//調(diào)用隱藏動(dòng)畫(huà) setTimeout(function(){ that.setData({ hideModal:true }) },720)//先執(zhí)行下滑動(dòng)畫(huà),再隱藏模塊 }, //動(dòng)畫(huà)集 fadeIn:function(){ this.animation.translateY(0).step() this.setData({ animationData: this.animation.export()//動(dòng)畫(huà)實(shí)例的export方法導(dǎo)出動(dòng)畫(huà)數(shù)據(jù)傳遞給組件的animation屬性 }) }, fadeDown:function(){ this.animation.translateY(300).step() this.setData({ animationData: this.animation.export(), }) }, })
為大家推薦現(xiàn)在關(guān)注度比較高的微信小程序教程一篇:《微信小程序開(kāi)發(fā)教程》小編為大家精心整理的,希望喜歡。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于javascript實(shí)現(xiàn)泡泡大冒險(xiǎn)網(wǎng)頁(yè)版小游戲
這篇文章主要介紹了基于javascript實(shí)現(xiàn)泡泡大冒險(xiǎn)網(wǎng)頁(yè)版小游戲,很有趣的游戲,可以練習(xí)打字速度,感興趣的小伙伴們可以參考一下2016-03-03JS實(shí)現(xiàn)文件動(dòng)態(tài)順序載入的方法
這篇文章主要介紹了JS實(shí)現(xiàn)文件動(dòng)態(tài)順序載入的方法,實(shí)例分析了基于Mootools框架實(shí)現(xiàn)動(dòng)態(tài)載入的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03表單input項(xiàng)使用label同時(shí)引用Bootstrap庫(kù)導(dǎo)致input點(diǎn)擊效果區(qū)增大問(wèn)題
這篇文章主要介紹了表單input項(xiàng)使用label,同時(shí)引用Bootstrap庫(kù),導(dǎo)致input點(diǎn)擊效果區(qū)增大問(wèn)題的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10JavaScript易錯(cuò)知識(shí)點(diǎn)整理
本文主要對(duì)JavaScript易錯(cuò)知識(shí)點(diǎn)進(jìn)行整理和匯總。需要的朋友可以看下,希望對(duì)大家有所幫助2016-12-12JS使用正則表達(dá)式判斷輸入框失去焦點(diǎn)事件
這篇文章主要介紹了JS使用正則表達(dá)式判斷輸入框失去焦點(diǎn)事件問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-10-10微信小程序的注冊(cè)頁(yè)面包含倒計(jì)時(shí)驗(yàn)證碼、獲取用戶信息
本文通過(guò)實(shí)例代碼給大家介紹了微信小程序的注冊(cè)頁(yè)面包含倒計(jì)時(shí)驗(yàn)證碼、獲取用戶信息的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2019-05-05