微信小程序自定義對(duì)話框彈出和隱藏動(dòng)畫
本文實(shí)例為大家分享了微信小程序自定義對(duì)話框彈出和隱藏動(dòng)畫的具體代碼,供大家參考,具體內(nèi)容如下
index.js
//index.js var app = getApp(); let animationShowHeight = 300; Page({ data:{ animationData:"", showModalStatus:false, imageHeight:0, imageWidth:0 }, imageLoad: function (e) { this.setData({imageHeight:e.detail.height,imageWidth:e.detail.width}); }, showModal: function () { // 顯示遮罩層 var animation = wx.createAnimation({ duration: 200, timingFunction: "linear", delay: 0 }) this.animation = animation animation.translateY(animationShowHeight).step() this.setData({ animationData: animation.export(), showModalStatus: true }) setTimeout(function () { animation.translateY(0).step() this.setData({ animationData: animation.export() }) }.bind(this), 200) }, hideModal: function () { // 隱藏遮罩層 var animation = wx.createAnimation({ duration: 200, timingFunction: "linear", delay: 0 }) this.animation = animation; animation.translateY(animationShowHeight).step() this.setData({ animationData: animation.export(), }) setTimeout(function () { animation.translateY(0).step() this.setData({ animationData: animation.export(), showModalStatus: false }) }.bind(this), 200) }, onShow:function(){ let that = this; wx.getSystemInfo({ success: function(res) { animationShowHeight = res.windowHeight; } }) }, })
index.wxml
<!--index.wxml--> <view class="container-column"> <view animation="{{animationData}}" class="container-column buydes-dialog-container" wx:if="{{showModalStatus}}"> <view class="buydes-dialog-container-top" bindtap="hideModal"></view> <view class="container-column buydes-dialog-container-bottom"> <block wx:for="{{['操作1','操作2','操作3','取消']}}" wx:for-index="index" wx:key="key" wx:for-item="item"> <view bindtap="hideModal" class="buydes-dialog-container-bottom-item" >{{item}}</view> </block> </view> </view> <image bindtap="showModal" bindload="imageLoad" style="width:{{imageWidth}}px;;height:{{imageHeight}}px;" src="../pro1.jpg"/> </view>
index.wxss
.buydes-dialog-container{ width: 100%; height: 100%; justify-content: space-between; background-color:rgba(15, 15, 26, 0.7); position: fixed; z-index: 999; } .buydes-dialog-container-top{ flex-grow: 1; } .buydes-dialog-container-bottom{ display: flex; flex-grow: 0; } .buydes-dialog-container-bottom-item{ padding:24rpx; display: flex; justify-content: center; border-bottom: 1rpx solid #eeeeee; }
效果圖:
下面是實(shí)際開發(fā)中的效果圖,沒有源碼,但是原理和上面的是一樣的,通過上面的DEMO學(xué)習(xí)加上平常的CSS基礎(chǔ),完全可以做出下面的效果
源碼下載:微信小程序自定義對(duì)話框彈出和隱藏動(dòng)畫
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript數(shù)組、json對(duì)象、eval()函數(shù)用法實(shí)例分析
這篇文章主要介紹了JavaScript數(shù)組、json對(duì)象、eval()函數(shù)用法,結(jié)合實(shí)例形式分析了JS數(shù)組創(chuàng)建、賦值、連接、翻轉(zhuǎn),json對(duì)象定義、讀取,eval()函數(shù)的功能、使用等,需要的朋友可以參考下2019-02-02微信小程序?qū)崿F(xiàn)走馬燈式抽獎(jiǎng)
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)走馬燈式抽獎(jiǎng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04基于勻速運(yùn)動(dòng)的實(shí)例講解(側(cè)邊欄,淡入淡出)
下面小編就為大家?guī)?lái)一篇基于勻速運(yùn)動(dòng)的實(shí)例講解(側(cè)邊欄,淡入淡出)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-10-10javascript cookie解碼函數(shù)(兼容ff)
javascript cookie解碼函數(shù)2008-03-03element-ui 時(shí)間選擇器限制范圍的實(shí)現(xiàn)(隨動(dòng))
這篇文章主要介紹了element-ui 時(shí)間選擇器限制范圍(隨動(dòng)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2019-01-01js is_valid_filename驗(yàn)證文件名的函數(shù)
有時(shí)候我們需要對(duì)文件名進(jìn)行控制,包括一些特殊命名的文件與特殊符號(hào)的文件名進(jìn)程替換,那么就可以使用下面的函數(shù)2017-07-07