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


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客户端将指定区域导出到Word、Excel的代码
Oct 22 Javascript
JavaScript null和undefined区别分析
Oct 14 Javascript
Ajax异步提交表单数据的说明及方法实例
Jun 22 Javascript
jquery的clone方法应用于textarea和select的bug修复
Jun 26 Javascript
js实现可得到不同颜色值的颜色选择器实例
Feb 28 Javascript
封装属于自己的JS组件
Jan 27 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
Feb 20 Javascript
Vue2.0父子组件传递函数的教程详解
Oct 16 Javascript
JS逻辑运算符短路操作实例分析
Jul 09 Javascript
ES6 let和const定义变量与常量的应用实例分析
Jun 27 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
Jul 25 Javascript
Vue中jsx不完全应用指南小结
Nov 01 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
php数组合并与拆分实例分析
2015/06/12 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
web 页面分页打印的实现
2009/06/22 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
jquery封装的对话框简单实现
2013/07/21 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
快速掌握Node.js环境的安装与运行方法
2016/02/16 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
JavaScript读写二进制数据的方法详解
2018/09/09 Javascript
JavaScript 对引擎、运行时、调用堆栈的概述理解
2018/10/22 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
[47:45]Liquid vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python 判断网络连通的实现方法
2018/04/22 Python
一百多行python代码实现抢票助手
2018/09/25 Python
Python基于Faker假数据构造库
2020/11/30 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
经典c++面试题二
2015/08/14 面试题
化验室技术员岗位职责
2013/12/24 职场文书
中国央视网签名寄语
2014/01/18 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
股东授权委托书范文
2014/09/13 职场文书
党小组推荐意见
2015/06/02 职场文书
实习指导老师意见
2015/06/04 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫