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


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中的继承实例代码
Apr 27 Javascript
js获取height和width的方法说明
Jan 06 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
Apr 02 Javascript
对table和ul实现js分页示例分享
Feb 24 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
Nov 07 Javascript
JS实现的四级密码强度检测功能示例
May 11 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
从vue源码解析Vue.set()和this.$set()
Aug 30 Javascript
JS 实现微信扫一扫功能
Sep 14 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
Oct 08 Javascript
封装微信小程序http拦截器过程解析
Aug 13 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 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
php下获取客户端ip地址的函数
2010/03/15 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
php环境无法上传文件的解决方法
2014/04/30 PHP
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
phpStudy访问速度慢和启动失败的解决办法
2015/11/19 PHP
php并发加锁示例
2016/10/17 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
Vuex 入门教程
2018/01/10 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
小程序关于请求同步的总结
2019/05/05 Javascript
小程序实现列表展开收起效果
2020/07/29 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
解决pip install xxx报错SyntaxError: invalid syntax的问题
2018/11/30 Python
使用Python实现分别输出每个数组
2019/12/06 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
详解HTML5将footer置于页面最底部的方法(CSS+JS)
2018/10/11 HTML / CSS
假日旅行社实习自我鉴定
2013/09/24 职场文书
销售心得体会
2014/01/02 职场文书
2014年社区学雷锋活动总结
2014/03/09 职场文书
房屋转让协议书范本
2014/04/11 职场文书
三年级学生期末评语
2014/12/26 职场文书
质检员岗位职责
2015/02/03 职场文书
大学军训决心书
2015/02/05 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
Nginx反向代理至go-fastdfs案例讲解
2021/08/02 Servers
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电