微信小程序开发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操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
Sep 26 Javascript
jquery 弹出层实现代码
Oct 30 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 Javascript
浅谈javascript构造函数与实例化对象
Jun 22 Javascript
Bootstrap popover用法详解
Dec 22 Javascript
解析JavaScript模仿块级作用域
Dec 29 Javascript
基于BootStrap的文本编辑器组件Summernote
Oct 27 Javascript
微信小程序实现炫酷的弹出式菜单特效
Jan 28 Javascript
laypage+SpringMVC实现后端分页
Jul 27 Javascript
基于vue写一个全局Message组件的实现
Aug 15 Javascript
vue 解决computed修改data数据的问题
Nov 06 Javascript
Vue如何实现监听组件原生事件
Jul 03 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 强制性文件下载功能的函数代码(任意文件格式)
2010/05/26 PHP
深入php之规范编程命名小结
2013/05/15 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
js模拟C#中List的简单实例
2014/03/06 Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
2015/08/07 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
node-http-proxy修改响应结果实例代码
2016/06/06 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
AngularJS表单提交实例详解
2017/02/18 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
浅谈vue中resetFields()使用注意事项
2020/08/12 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
利用Python进行异常值分析实例代码
2017/12/07 Python
浅谈pycharm使用及设置方法
2019/09/09 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
基于Python实现粒子滤波效果
2020/12/01 Python
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
cosme官方海外旗舰店:日本最大化妆品和美容产品的综合口碑网站
2017/01/18 全球购物
专业实习自我鉴定
2013/10/29 职场文书
应聘美工求职信
2013/11/07 职场文书
外贸业务员求职信范文
2013/12/12 职场文书
校园达人秀策划书
2014/01/12 职场文书
合作经营协议书
2014/04/17 职场文书
委托协议书范本
2014/04/22 职场文书
个人对照检查剖析材料
2014/10/13 职场文书
实习介绍信模板
2015/01/30 职场文书
专家推荐信怎么写
2015/03/25 职场文书
2016年法制宣传月活动总结
2016/04/01 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书