微信小程序开发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 相关文章推荐
手把手教你自己写一个js表单验证框架的方法
Sep 14 Javascript
juqery 学习之六 CSS--css、位置、宽高
Feb 11 Javascript
js DOM的学习笔记
Dec 22 Javascript
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
javascript-解决mongoose数据查询的异步操作
Dec 22 Javascript
layui分页效果实现代码
May 19 Javascript
微信小程序之绑定点击事件实例详解
Jul 07 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
Jan 07 Javascript
three.js 入门案例详解
Jan 23 Javascript
JS中双击和单击事件冲突的解决方法
Apr 09 Javascript
jQuery实现中奖播报功能(让文本滚动起来) 简单设置数值即可
Mar 20 jQuery
vite2.0+vue3移动端项目实战详解
Mar 03 Vue.js
全选复选框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
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
php实现计数器方法小结
2015/01/05 PHP
php生成验证码函数
2015/10/20 PHP
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
JavaScript回调(callback)函数概念自我理解及示例
2013/07/04 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
老生常谈javascript的面向对象思想
2017/08/22 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
2019/09/19 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
python实现批量修改服务器密码的方法
2019/08/13 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
Lyle & Scott苏格兰金鹰官网:英国皇室御用品牌
2018/05/09 全球购物
新闻记者个人求职的自我评价
2013/11/28 职场文书
教学大赛获奖感言
2014/01/15 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
搞笑创意广告语
2014/03/17 职场文书
治超工作实施方案
2014/05/04 职场文书
安全宣传标语
2014/06/10 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
婚前财产协议书范本
2014/10/19 职场文书
社区活动总结
2015/02/04 职场文书
秋菊打官司观后感
2015/06/03 职场文书
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
MySQL存储过程及语法详解
2022/08/05 MySQL