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


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 相关文章推荐
jscript之List Excel Color Values
Jun 13 Javascript
Add a Picture to a Microsoft Word Document
Jun 15 Javascript
JavaScript中的ubound函数使用实例
Nov 04 Javascript
js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法
Aug 11 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
TableSort.js表格排序插件使用方法详解
Feb 10 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
实例分析js事件循环机制
Dec 13 Javascript
移动web开发之touch事件实例详解
Jan 17 Javascript
优雅的在React项目中使用Redux的方法
Nov 10 Javascript
微信小程序实现导航栏和内容上下联动功能代码
Jun 29 Javascript
vue 二维码长按保存和复制内容操作
Sep 22 Javascript
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
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
PHP循环函数使用介绍之PHP基础入门教程
2013/09/21 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
JQuery 入门实例1
2009/06/25 Javascript
js 日期转换成中文格式的函数
2009/07/07 Javascript
jquery 插件开发备注
2010/08/27 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
2011/03/01 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
JS实现图片产生波纹一样flash效果的方法
2015/02/27 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
各个系统下的Python解释器相关安装方法
2015/10/12 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
对python插入数据库和生成插入sql的示例讲解
2018/11/14 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
django fernet fields字段加密实践详解
2019/08/12 Python
python 多进程队列数据处理详解
2019/12/23 Python
解决jupyter运行pyqt代码内核重启的问题
2020/04/16 Python
使用css3背景渐变中的透明度来设置不同颜色的背景渐变
2014/03/31 HTML / CSS
如何用css3实现switch组件开关的方法
2018/02/09 HTML / CSS
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
2014升学宴答谢词
2014/01/26 职场文书
学习考察心得体会
2014/09/04 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB
Python爬虫网络请求之代理服务器和动态Cookies
2022/04/12 Python
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers