加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

微信小程序自定义对话框弹出和隐藏动画

发布时间:2020-12-14 20:05:52 所属栏目:资源 来源:网络整理
导读:本文实例为大家分享了微信小程序自定义对话框弹出和隐藏动画的具体代码,供大家参考,具体内容如下 index.js let animationShowHeight = 300; Page({ data:{ animationData:"",showModalStatus:false,imageHeight:0,imageWidth:0 },imageLoad: function (e)

本文实例为大家分享了微信小程序自定义对话框弹出和隐藏动画的具体代码,供大家参考,具体内容如下

index.js

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,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),onShow:function(){
let that = this;
wx.getSystemInfo({
success: function(res) {
animationShowHeight = res.windowHeight;
}
})
},})

index.wxml

<view animation="{{animationData}}" class="container-column buydes-dialog-container" wx:if="{{showModalStatus}}">
<view class="buydes-dialog-container-top" bindtap="hideModal">

<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">

{{item}}

<image bindtap="showModal" bindload="imageLoad" style="width:{{imageWidth}}px;;height:{{imageHeight}}px;" src="../pro1.jpg"/>

index.wxss

.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;
}

效果图:

下面是实际开发中的效果图,没有源码,但是原理和上面的是一样的,通过上面的DEMO学习加上平常的CSS基础,完全可以做出下面的效果

源码下载:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读