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


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改变CSS样式的方法汇总
May 07 Javascript
jquery密码强度校验
Dec 02 Javascript
JavaScript中的时间处理小结
Feb 24 Javascript
AngularJS基础 ng-srcset 指令简单示例
Aug 03 Javascript
IE8兼容Jquery.validate.js的问题
Dec 01 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
Jun 09 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
Aug 14 Javascript
微信小程序之onLaunch与onload异步问题详解
Mar 28 Javascript
解决layui页面按钮点击无反应,也不报错的问题
Sep 29 Javascript
jquery html添加元素/删除元素操作实例详解
May 20 jQuery
Element DateTimePicker日期时间选择器的使用示例
Jul 27 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
Aug 19 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
关于ob_get_contents(),ob_end_clean(),ob_start(),的具体用法详解
2013/06/24 PHP
php中header跳转使用include包含解决参数丢失问题
2015/05/08 PHP
快速排序 php与javascript的不同之处
2011/02/22 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
简单学习5种处理Vue.js异常的方法
2019/06/17 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
用python代码做configure文件
2014/07/20 Python
在Python中调用ggplot的三种方法
2015/04/08 Python
python实现杨辉三角思路
2017/07/14 Python
Django框架教程之正则表达式URL误区详解
2018/01/28 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
python实现kmp算法的实例代码
2019/04/03 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
pandas数据处理进阶详解
2019/10/11 Python
Pytorch之Variable的用法
2019/12/31 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
python 爬取百度文库并下载(免费文章限定)
2020/12/04 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
运动会通讯稿100字
2014/01/31 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
撤诉申请书法院范本
2015/05/18 职场文书
事业单位岗位说明书
2015/10/08 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python