微信小程序开发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 相关文章推荐
javascript 写类方式之三
Jul 05 Javascript
JQuery 表格操作(交替显示、拖动表格行、选择行等)
Jul 29 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
Javascript实现div的toggle效果实例分析
Jun 09 Javascript
js实现网页收藏功能
Dec 17 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
Mar 04 Javascript
vue实现键盘输入支付密码功能
Aug 18 Javascript
用vue-cli开发vue时的代理设置方法
Sep 20 Javascript
Vue.Draggable拖拽功能的配置使用方法
Jul 29 Javascript
jsonp实现百度下拉框功能的方法分析
May 10 Javascript
TypeScript中条件类型精读与实践记录
Oct 05 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
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
jQuery源码分析-03构造jQuery对象-工具函数
2011/11/14 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
浅谈javascript语法和定时函数
2015/05/03 Javascript
js实现漫天星星效果
2017/01/19 Javascript
jQuery基本选择器和层次选择器学习使用
2017/02/27 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
原生JS封装_new函数实现new关键字的功能
2018/08/12 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
vue实现信息管理系统
2020/05/30 Javascript
解决vue单页面应用进入页面加载所有 js 的问题
2020/08/12 Javascript
python连接mysql调用存储过程示例
2014/03/05 Python
wxpython学习笔记(推荐查看)
2014/06/09 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
python实现整数的二进制循环移位
2019/03/08 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
django queryset相加和筛选教程
2020/05/18 Python
Python pysnmp使用方法及代码实例
2020/08/24 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
健康监测猫砂:Pretty Litter
2017/05/25 全球购物
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
软件配置管理有什么好处
2015/04/15 面试题
初中化学教学反思
2014/01/23 职场文书
护士见习期自我鉴定
2014/02/08 职场文书
《落花生》教学反思
2014/02/25 职场文书
GPU服务器的多用户配置方法
2022/07/07 Servers
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript