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


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技术-屏蔽类
Aug 15 Javascript
如何判断鼠标是否在DIV的区域内
Nov 13 Javascript
JS可以控制样式的名称写法一览
Jan 16 Javascript
jquery实现页面虚拟键盘特效
Aug 08 Javascript
js图片轮播特效代码分享
Sep 07 Javascript
JavaScript中ES6 Babel正确安装过程
Jul 18 Javascript
在js中实现邮箱格式的验证方法(推荐)
Oct 24 Javascript
整理一些最近经常遇到的前端面试题
Apr 25 Javascript
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
vue.js打包之后可能会遇到的坑!
Jun 03 Javascript
element-ui的回调函数Events的用法详解
Oct 16 Javascript
vue学习笔记之给组件绑定原生事件操作示例
Feb 27 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
浅析ThinkPHP的模板输出功能
2014/07/01 PHP
php设置静态内容缓存时间的方法
2014/12/01 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
thinkPHP实现的联动菜单功能详解
2017/05/05 PHP
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
深入浅析Node.js 事件循环
2015/12/20 Javascript
基于JavaScript实现文字超出部分隐藏
2016/02/29 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
2016/12/23 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
javascript 单例模式详解及简单实例
2017/02/14 Javascript
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
vue watch自动检测数据变化实时渲染的方法
2018/01/16 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
行政工作个人的自我评价
2014/02/13 职场文书
优秀应届生求职信
2014/06/16 职场文书
会计岗位说明书
2014/07/29 职场文书
2015年调度员工作总结
2015/04/30 职场文书
导师鉴定意见
2015/06/05 职场文书
离职告别感言
2015/08/04 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书