微信小程序自定义底部弹出框动画


Posted in Javascript onNovember 18, 2020

微信小程序之自定义底部弹出框动画,供大家参考,具体内容如下

最近做小程序时,会经常用到各种弹框。直接做显示和隐藏虽然也能达到效果,但是体验性太差,也比较简单粗暴。想要美美地玩,添加点动画还是非常有必要的。下面做一个底部上滑的弹框。

微信小程序自定义底部弹出框动画

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">点我</button>

wxss

/*模态框*/
.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;
}

/*动画前初始位置*/
.bottom-pos {
 -webkit-transform: translateY(100%);
 transform: translateY(100%);
}

js

Page({
 data:{
 hideModal:true, //模态框的状态 true-隐藏 false-显示
 animationData:{},//
 },

 // 显示遮罩层
 showModal: function () {
 var that=this;
 that.setData({
 hideModal:false
 })
 var animation = wx.createAnimation({
 duration: 600,//动画的持续时间 默认400ms 数值越大,动画越慢 数值越小,动画越快
 timingFunction: 'ease',//动画的效果 默认值是linear
 })
 this.animation = animation 
 setTimeout(function(){
 that.fadeIn();//调用显示动画
 },200) 
 },

 // 隐藏遮罩层
 hideModal: function () {
 var that=this; 
 var animation = wx.createAnimation({
 duration: 800,//动画的持续时间 默认400ms 数值越大,动画越慢 数值越小,动画越快
 timingFunction: 'ease',//动画的效果 默认值是linear
 })
 this.animation = animation
 that.fadeDown();//调用隐藏动画 
 setTimeout(function(){
 that.setData({
 hideModal:true
 }) 
 },720)//先执行下滑动画,再隐藏模块
 
 },

 //动画集
 fadeIn:function(){
 this.animation.translateY(0).step()
 this.setData({
 animationData: this.animation.export()//动画实例的export方法导出动画数据传递给组件的animation属性
 }) 
 },
 fadeDown:function(){
 this.animation.translateY(300).step()
 this.setData({
 animationData: this.animation.export(), 
 })
 }, 
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 私有成员分析
Jan 13 Javascript
javascript数组去掉重复
May 12 Javascript
JS简单的图片放大缩小的两种方法
Nov 11 Javascript
jquery中get和post的简单实例
Feb 04 Javascript
JavaScript事件委托实例分析
May 26 Javascript
预防网页挂马的方法总结
Nov 03 Javascript
three.js中文文档学习之如何本地运行详解
Nov 20 Javascript
vue.js 微信支付前端代码分享
Feb 10 Javascript
vue实现PC端录音功能的实例代码
Jun 05 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
Sep 12 Javascript
微信小程序 接入腾讯地图的两种写法
Jan 12 Javascript
SSM VUE Axios详解
Oct 05 Vue.js
vue 封装面包屑组件教程
Nov 16 #Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
Nov 16 #Javascript
小程序实现密码输入框
Nov 16 #Javascript
vue 使用localstorage实现面包屑的操作
Nov 16 #Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
Nov 16 #Javascript
Vue中使用JsonView来展示Json树的实例代码
Nov 16 #Javascript
Vue 数据绑定的原理分析
Nov 16 #Javascript
You might like
PHP中的超全局变量
2006/10/09 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
学习php过程中的一些注意点的总结
2013/10/25 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
PHP数组函数知识汇总
2016/05/12 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
找到了一篇jQuery与Prototype并存的冲突的解决方法
2007/08/29 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
javascript实现文字图片上下滚动的具体实例
2013/06/28 Javascript
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
jquery选择器使用详解
2014/04/08 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
JavaScript错误处理
2015/02/03 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
JS折半插入排序算法实例
2015/12/02 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
JS Thunk 函数的含义和用法实例总结
2020/04/08 Javascript
如何利用javascript接收json信息并进行处理
2020/08/06 Javascript
python3.3使用tkinter开发猜数字游戏示例
2014/03/14 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
python Matplotlib画图之调整字体大小的示例
2017/11/20 Python
python的staticmethod与classmethod实现实例代码
2018/02/11 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
2019/06/27 Python
解决python 上传图片限制格式问题
2019/10/30 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
利用CSS3动画实现圆圈由小变大向外扩散的效果实例
2018/09/10 HTML / CSS
请介绍一下Ant
2016/07/22 面试题
新郎父亲婚宴答谢词
2014/01/11 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
社区禁毒工作方案
2014/06/02 职场文书
淘宝好评语句大全
2014/12/31 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers