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


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 相关文章推荐
学习YUI.Ext第五日--做拖放Darg&amp;Drop
Mar 10 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
Nov 12 Javascript
jQuery Tools tab(幻灯片)
Jul 14 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
Jan 05 Javascript
Jquery跨域获得Json的简单实例
May 18 Javascript
js实现浏览器倒计时跳转页面效果
Aug 12 Javascript
jQuery学习笔记之入门
Dec 14 Javascript
JS判断两个对象内容是否相等的方法示例
Apr 10 Javascript
element-ui 表格实现单元格可编辑的示例
Feb 26 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
Apr 26 Javascript
详解template标签用法(含vue中的用法总结)
Jan 12 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(3) php 函数
2010/02/15 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
ie支持function.bind()方法实现代码
2012/12/27 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
2016/11/21 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python实现抓取百度搜索结果页的网站标题信息
2015/01/22 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
python调用百度地图WEB服务API获取地点对应坐标值
2019/01/16 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
Python3实现监控新型冠状病毒肺炎疫情的示例代码
2020/02/13 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
Python实现Excel自动分组合并单元格
2021/02/22 Python
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
Jar包的作用是什么
2014/03/30 面试题
高中数学教师求职信
2013/10/30 职场文书
最常使用的求职信
2014/05/25 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
七一表彰大会简报
2015/07/20 职场文书
感谢师恩主题班会
2015/08/17 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
2016年119消防宣传日活动总结
2016/04/05 职场文书