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


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实现焦点滚动图效果 具体方法
Jun 24 Javascript
5种处理js跨域问题方法汇总
Dec 04 Javascript
javascript操作Cookie(设置、读取、删除)方法详解
Mar 18 Javascript
AngularJS模块管理问题的非常规处理方法
Apr 29 Javascript
iframe中使用jquery进行查找的方法【案例分析】
Jun 17 Javascript
Bootstrap导航条的使用和理解3
Dec 14 Javascript
javascript数据类型详解
Feb 07 Javascript
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
Angular使用Md5加密的解决方法
Sep 16 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
Feb 05 Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 Javascript
教你完全理解ReentrantLock重入锁
Jun 03 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
2020最新CPU的性能排名
2020/04/02 数码科技
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
提高网站信任度的技巧
2008/10/17 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
angular过滤器实现排序功能
2017/06/27 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
Python使用ftplib实现简易FTP客户端的方法
2015/06/03 Python
Python的自动化部署模块Fabric的安装及使用指南
2016/01/19 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
深入理解Django中内置的用户认证
2017/10/06 Python
python中的闭包函数
2018/02/09 Python
tensorflow识别自己手写数字
2018/03/14 Python
Python pymongo模块常用操作分析
2018/09/01 Python
详解Python装饰器
2019/03/25 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
李敖北大演讲稿
2014/05/24 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
青岛导游词
2015/02/12 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS