微信小程序实现消息框弹出动画


Posted in Javascript onApril 18, 2020

微信小程序动画之消息框弹出,供大家参考,具体内容如下

上图

微信小程序实现消息框弹出动画

js:

Page({
 data: {
 showModalStatus: false
 },
 powerDrawer: function(e) {
 var currentStatu = e.currentTarget.dataset.statu;
 this.util(currentStatu)
 },
 util: function(currentStatu) {
 /* 动画部分 */
 // 第1步:创建动画实例 
 var animation = wx.createAnimation({
  duration: 300, //动画时长 
  timingFunction: "linear", //线性 
  delay: 0 //0则不延迟 
 });

 // 第2步:这个动画实例赋给当前的动画实例 
 this.animation = animation;

 // 第3步:执行第一组动画 
 animation.opacity(0).rotateY(100).step();

 // 第4步:导出动画对象赋给数据对象储存 
 this.setData({
  animationData: animation.export()
 })

 // 第5步:设置定时器到指定时候后,执行第二组动画 
 setTimeout(function() {
  // 执行第二组动画 
  animation.opacity(1).rotateY(0).step();
  // 给数据对象储存的第一组动画,更替为执行完第二组动画的动画对象 
  this.setData({
  animationData: animation
  })

  //关闭 
  if (currentStatu == "close") {
  this.setData({
   showModalStatus: false
  });
  }
 }.bind(this), 200)

 // 显示 
 if (currentStatu == "open") {
  this.setData({
  showModalStatus: true
  });
 }
 }

})

wxml:

<!--button-->
<view class="btn bubble" bindtap="powerDrawer" data-statu="open">登录</view>

<!--mask-->
<view class="drawer_screen" bindtap="powerDrawer" data-statu="close" wx:if="{{showModalStatus}}"></view>
<!--content-->
<!--使用animation属性指定需要执行的动画-->
<view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus}}">

 <!--drawer content-->
 <view class="drawer_title">消息框</view>
 <view class="drawer_content">
 </view>
 <view class="btn_ok" bindtap="powerDrawer" data-statu="close">确定</view>
</view>

wxss:

/*button*/

.btn {
 width: 80%;
 padding: 20rpx 0;
 border-radius: 10rpx;
 text-align: center;
 margin: 40rpx 10%;
 background: #07c160;
 color: #fff;
}

/*mask*/

.drawer_screen {
 width: 100%;
 height: 100%;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 1000;
 background: #000;
 opacity: 0.4;
 overflow: hidden;
}

/*content*/

.drawer_box {
 width: 650rpx;
 overflow: hidden;
 position: fixed;
 top: 50%;
 left: 0;
 z-index: 1001;
 background: #fafafa;
 margin: -150px 50rpx 0 50rpx;
 border-radius: 3px;
}

.drawer_title {
 padding: 15px;
 font: 20px "microsoft yahei";
 text-align: center;
}

.text {
 font: 20px "microsoft yahei";
 text-align: center;
}

.drawer_content {
 height: 80px;
 overflow-y: scroll; /*超出父盒子高度可滚动*/
}

.btn_ok {
 padding: 10px;
 font: 20px "microsoft yahei";
 text-align: center;
 border-top: 1px solid #e8e8ea;
 color: #3cc51f;
}

.bottom {
 padding-bottom: 20px;
}

.bubble {
 position: relative;
 overflow: hidden;
}

.bubble:after {
 content: "";
 background: #999;
 position: absolute;
 width: 750rpx;
 height: 750rpx;
 left: calc(50% - 375rpx);
 top: calc(50% - 375rpx);
 opacity: 0;
 margin: auto;
 border-radius: 50%;
 transform: scale(1);
 transition: all 0.4s ease-in-out;
}

.bubble:active:after {
 transform: scale(0);
 opacity: 1;
 transition: 0s;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript游戏之是男人就下100层代码打包
Nov 08 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
nodeType属性返回被选节点的节点类型介绍
Nov 22 Javascript
jquery中的过滤操作详细解析
Dec 02 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
Feb 23 Javascript
Node.js开发教程之基于OnceIO框架实现文件上传和验证功能
Nov 30 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
Apr 25 Javascript
Node.JS文件系统解析实例详解
May 15 Javascript
JavaScript 完成注册页面表单校验的实例
Aug 19 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
JS使用H5实现图片预览功能
Sep 30 Javascript
前端Electron新手入门教程详解
Jun 21 #Javascript
javascript实现自由编辑图片代码详解
Jun 21 #Javascript
JS中超越现实的匿名函数用法实例分析
Jun 21 #Javascript
微信小程序实现圆形进度条动画
Nov 18 #Javascript
JavaScript迭代器的含义及用法
Jun 21 #Javascript
js事件触发操作实例分析
Jun 21 #Javascript
微信小程序实现下拉刷新动画
Jun 21 #Javascript
You might like
比较全的PHP 会话(session 时间设定)使用入门代码
2008/06/05 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
php字符集转换
2017/01/23 PHP
php curl优化下载微信头像的方法总结
2018/09/07 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
一些常用且实用的原生JavaScript函数
2010/09/08 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
python实现在控制台输入密码不显示的方法
2015/07/02 Python
python处理按钮消息的实例详解
2017/07/11 Python
Python学习教程之常用的内置函数大全
2017/07/14 Python
Python有序字典简单实现方法示例
2017/09/28 Python
python异步存储数据详解
2019/03/19 Python
python如何更新包
2020/06/11 Python
python3中celery异步框架简单使用+守护进程方式启动
2021/01/20 Python
django使用多个数据库的方法实例
2021/03/04 Python
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
Hunter Boots美国官方网站:赫特威灵顿雨靴
2018/06/16 全球购物
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
材料员岗位职责
2014/03/13 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
2014年图书管理员工作总结
2014/12/01 职场文书
2015年护士节慰问信
2015/03/23 职场文书
道歉短信大全
2015/05/12 职场文书
婚宴主持词
2015/06/30 职场文书
2016年校长新年寄语
2015/08/17 职场文书
Python3中最常用的5种线程锁实例总结
2021/07/07 Python
经典《舰娘》游改全新动画预告 预定11月开播
2022/04/01 日漫