微信小程序开发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 相关文章推荐
top.location.href 没有权限 解决方法
Aug 05 Javascript
JavaScript中的this关键字介绍与使用实例
Jun 21 Javascript
js 文本滚动效果的实例代码
Aug 17 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
Feb 12 Javascript
纯JavaScript实现的分页插件实例
Jul 14 Javascript
jquery实现下拉框功能效果【实例代码】
May 06 Javascript
VsCode新建VueJs项目的详细步骤
Sep 23 Javascript
vue-cli项目中怎么使用mock数据
Sep 27 Javascript
vue.js图片转Base64上传图片并预览的实现方法
Aug 02 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
Aug 30 Javascript
vuex state中的数组变化监听实例
Nov 06 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
Aug 14 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通过header实现文本文件下载的代码
2010/08/08 PHP
php处理restful请求的路由类分享
2014/02/27 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
一次因composer错误使用引发的问题与解决
2019/03/06 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
Query中click(),bind(),live(),delegate()的区别
2013/11/19 Javascript
JavaScript获取鼠标移动时的坐标(兼容IE8、chome谷歌、Firefox)
2014/09/13 Javascript
JavaScript使用DeviceOne开发实战(一) 配置和起步
2015/12/01 Javascript
Position属性之relative用法
2015/12/14 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
jQuery Ztree行政地区树状展示(点击加载)
2016/11/09 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
2016/11/25 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
Express + Session 实现登录验证功能
2017/09/08 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
Python专用方法与迭代机制实例分析
2014/09/15 Python
Python文件和目录操作详解
2015/02/08 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
Python Opencv任意形状目标检测并绘制框图
2019/07/23 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
python中time.ctime()实例用法
2021/02/03 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
 Alo Yoga官网:购买瑜伽服装
2018/06/17 全球购物
Nayomi官网:沙特阿拉伯王国睡衣和内衣品牌
2020/12/19 全球购物
乡镇保密工作承诺书
2015/05/04 职场文书
退休教师欢送会致辞
2015/07/31 职场文书
大学生团支书竞选稿
2015/11/21 职场文书
Python3 多线程(连接池)操作MySQL插入数据
2021/06/09 Python
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs