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


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 相关文章推荐
js 自定义的联动下拉框
Feb 07 Javascript
js图片自动切换效果处理代码
May 07 Javascript
基于javascript 闭包基础分享
Jul 10 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
Apr 20 Javascript
Jquery获取当前城市的天气信息
Aug 05 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
Mar 15 Javascript
js实现会跳动的日历效果(完整实例)
Oct 18 Javascript
JQuery实现table中tr上移下移的示例(超简单)
Jan 08 jQuery
JavaScript多态与封装实例分析
Jul 27 Javascript
快速解决处理后台返回json数据格式的问题
Aug 07 Javascript
更强大的vue ssr实现预取数据的方式
Jul 19 Javascript
vue-cli3 取消eslint校验代码的解决办法
Jan 16 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中操作ini配置文件的方法
2013/04/25 PHP
浅析THINKPHP的addAll支持的最大数据量
2015/02/03 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
thinkPHP内置字符串截取函数用法详解
2016/11/15 PHP
php实现基于pdo的事务处理方法示例
2017/07/21 PHP
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
JavaScript操作XML 使用百度RSS作为新闻源示例
2012/02/17 Javascript
jquery查找父元素、子元素(个人经验总结)
2014/04/09 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
动态更新highcharts数据的实现方法
2016/05/28 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
解析JavaScript模仿块级作用域
2016/12/29 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
vue实现与安卓、IOS交互的方法
2018/11/02 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
vue3弹出层V3Popup实例详解
2021/01/04 Vue.js
[18:16]sakonoko 2017年卡尔集锦
2018/02/06 DOTA
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
使用python 获取进程pid号的方法
2014/03/10 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
Python提取转移文件夹内所有.jpg文件并查看每一帧的方法
2019/06/27 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
节水倡议书范文
2014/04/15 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
人大代表选举标语
2014/10/07 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android