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


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 相关文章推荐
window.name代替cookie的实现代码
Nov 28 Javascript
jQuery的12招常用技巧分享
Aug 08 Javascript
JS实现控制表格单元格垂直对齐的方法
Mar 30 Javascript
jQuery获得指定元素坐标的方法
Apr 14 Javascript
简单谈谈Javascript中类型的判断
Oct 19 Javascript
整理Javascript基础语法学习笔记
Nov 29 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
Jun 12 Javascript
利用jquery正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
Vue2.0 事件的广播与接收(观察者模式)
Mar 14 Javascript
使用Javascript简单计算器
Nov 17 Javascript
微信小程序 网络通信实现详解
Jul 23 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
May 28 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
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
文本加密解密
2006/06/23 Javascript
使用jquery与图片美化checkbox和radio控件的代码(打包下载)
2010/11/11 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
JavaScript 函数replace深入了解
2013/03/14 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
详解Vue 方法与事件处理器
2017/06/20 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
使用vue-infinite-scroll实现无限滚动效果
2018/06/22 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
利用JS判断元素是否为数组的方法示例
2021/01/08 Javascript
最近Python有点火? 给你7个学习它的理由!
2017/06/26 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
python计算auc的方法
2020/09/09 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
澳大利亚领先的在线机械五金、园艺和存储专家:Edisons
2018/03/24 全球购物
电脑教师的自我评价
2013/12/18 职场文书
演讲稿怎么写才完美
2014/01/02 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
安全员岗位职责
2015/02/10 职场文书
英文诗歌翻译方法(赏析)
2019/08/16 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
室外天线与收音机天线杆接合方法
2022/04/05 无线电
《王者天下》第4季首话新剧照 4月9日正式开播
2022/04/07 日漫