微信小程序开发animation心跳动画效果


Posted in Javascript onAugust 16, 2017

本文实例为大家分享了微信小程序开发animation心跳动画,供大家参考,具体内容如下

1、微信小程序开发animation心跳动画

wxml文件中:

<view class="bottomViewItem"> 
  <view class="bottomMiddleHeaderView" bindtap="voteClick" data-id="value"> 
   <view class="bottomMiddleHeaderItem" animation="{{animationMiddleHeaderItem}}"> 
   <!-- 心跳 --> 
   <view class="bottomMiddleHeaderItemSubView"> 
    <image src="/images/detail_vote_heart.png" style="width:32rpx; height:32rpx;" animation="{{animationMiddleHeaderItem}}"></image> 
   </view> 
   <!-- 投票文字 --> 
   <view class="bottomMiddleHeaderItemSubView">投票</view> 
   </view> 
  </view> 
 </view>

js文件中:

// 页面渲染完成 
 onReady: function () { 
  var circleCount = 0; 
  // 心跳的外框动画 
  this.animationMiddleHeaderItem = wx.createAnimation({ 
  duration:1000, // 以毫秒为单位 
  /** 
  * http://cubic-bezier.com/#0,0,.58,1 
  * linear 动画一直较为均匀 
  * ease 从匀速到加速在到匀速 
  * ease-in 缓慢到匀速 
  * ease-in-out 从缓慢到匀速再到缓慢 
  * 
  * http://www.tuicool.com/articles/neqMVr 
  * step-start 动画一开始就跳到 100% 直到动画持续时间结束 一闪而过 
  * step-end 保持 0% 的样式直到动画持续时间结束  一闪而过 
  */ 
  timingFunction: 'linear', 
  delay: 100, 
  transformOrigin: '50% 50%', 
  success: function (res) { 
  } 
  }); 
  setInterval(function() { 
  if (circleCount % 2 == 0) { 
   this.animationMiddleHeaderItem.scale(1.15).step(); 
  } else { 
   this.animationMiddleHeaderItem.scale(1.0).step(); 
  } 
  this.setData({ 
   animationMiddleHeaderItem: this.animationMiddleHeaderItem.export() 
  }); 
  circleCount++; 
  if (circleCount == 1000) { 
   circleCount = 0; 
  } 
  }.bind(this), 1000); 
 },

2、微信显示倒计时

wxml文件中:

<!--倒计时 --> 
 <view class="countDownTimeView countDownAllView" > 
 <view class="voteText countDownTimeText">{{countDownDay}}天</view> 
 <view class="voteText countDownTimeText">{{countDownHour}}时</view> 
 <view class="voteText countDownTimeText">{{countDownMinute}}分</view> 
 <view class="voteText countDownTimeText">{{countDownSecond}}秒</view> 
 </view>

js文件中:

Page( { 
 data: { 
 windowHeight: 654, 
 maxtime: "", 
 isHiddenLoading: true, 
 isHiddenToast: true, 
 dataList: {}, 
 countDownDay: 0, 
 countDownHour: 0, 
 countDownMinute: 0, 
 countDownSecond: 0, 
 }, 
 //事件处理函数 
 bindViewTap: function() { 
 wx.navigateTo( { 
  url: '../logs/logs' 
 }) 
 }, 
 onLoad: function() { 
 this.setData( { 
  windowHeight: wx.getStorageSync( 'windowHeight' ) 
 }); 
 }, 
 // 页面渲染完成后 调用 
 onReady: function () { 
 var totalSecond = 1505540080 - Date.parse(new Date())/1000; 
 var interval = setInterval(function () { 
  // 秒数 
  var second = totalSecond; 
  // 天数位 
  var day = Math.floor(second / 3600 / 24); 
  var dayStr = day.toString(); 
  if (dayStr.length == 1) dayStr = '0' + dayStr; 
  // 小时位 
  var hr = Math.floor((second - day * 3600 * 24) / 3600); 
  var hrStr = hr.toString(); 
  if (hrStr.length == 1) hrStr = '0' + hrStr; 
  // 分钟位 
  var min = Math.floor((second - day * 3600 *24 - hr * 3600) / 60); 
  var minStr = min.toString(); 
  if (minStr.length == 1) minStr = '0' + minStr; 
  // 秒位 
  var sec = second - day * 3600 * 24 - hr * 3600 - min*60; 
  var secStr = sec.toString(); 
  if (secStr.length == 1) secStr = '0' + secStr; 
  this.setData({ 
  countDownDay: dayStr, 
  countDownHour: hrStr, 
  countDownMinute: minStr, 
  countDownSecond: secStr, 
  }); 
  totalSecond--; 
  if (totalSecond < 0) { 
  clearInterval(interval); 
  wx.showToast({ 
   title: '活动已结束', 
  }); 
  this.setData({ 
   countDownDay: '00', 
   countDownHour: '00', 
   countDownMinute: '00', 
   countDownSecond: '00', 
  }); 
  } 
 }.bind(this), 1000); 
 }, 
 //cell事件处理函数 
 bindCellViewTap: function (e) { 
 var id = e.currentTarget.dataset.id; 
 wx.navigateTo({ 
  url: '../babyDetail/babyDetail?id=' + id 
 }); 
 } 
})

效果图:

微信小程序开发animation心跳动画效果

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

Javascript 相关文章推荐
自适应高度框架 ----属个人收藏内容
Jan 22 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
Mar 26 Javascript
angularjs学习笔记之双向数据绑定
Sep 26 Javascript
基于BootStarp的Dailog
Apr 28 Javascript
JavaScript核心语法总结(推荐)
Jun 02 Javascript
JS实现列表的响应式排版(推荐)
Sep 01 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
JS基于面向对象实现的多个倒计时器功能示例
Feb 28 Javascript
常用的js方法合集
Mar 10 Javascript
vue router自动判断左右翻页转场动画效果
Oct 10 Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 Javascript
解决vue的变量在settimeout内部效果失效的问题
Aug 30 Javascript
全选复选框JavaScript编写小结(附代码)
Aug 16 #Javascript
微信小程序自定义模态对话框实例详解
Aug 16 #Javascript
浅析webpack 如何优雅的使用tree-shaking(摇树优化)
Aug 16 #Javascript
JavaScript实现三级联动菜单效果
Aug 16 #Javascript
ionic3 懒加载
Aug 16 #Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
Aug 16 #Javascript
理解 Node.js 事件驱动机制的原理
Aug 16 #Javascript
You might like
PHP调用三种数据库的方法(3)
2006/10/09 PHP
建立文件交换功能的脚本(一)
2006/10/09 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
PHP嵌套输出缓冲代码实例
2015/05/12 PHP
PHP如何将XML转成数组
2016/04/04 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
Javascript的闭包
2009/12/31 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
vue cli使用融云实现聊天功能的实例代码
2019/04/19 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
python简单实现旋转图片的方法
2015/05/30 Python
Django中ORM的基本使用教程
2020/12/22 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
中间件分为哪几类
2012/03/14 面试题
群众路线剖析材料
2014/02/02 职场文书
党员岗位承诺书
2014/03/25 职场文书
推广普通话共筑中国梦演讲稿
2014/09/21 职场文书
大一新生检讨书
2014/10/29 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
与死神共舞观后感
2015/06/15 职场文书
工程移交协议书
2016/03/24 职场文书
创业计划书之闲置物品置换中心
2019/12/25 职场文书
Python编程源码报错解决方法总结经验分享
2021/10/05 Python
Python代码实现双链表
2022/05/25 Python