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

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

 

1.wxml文件中:
 2.[html] view plain copy
 3.<view class="bottomViewItem"> 
 4.<view class="bottomMiddleHeaderView" bindtap="voteClick" data-id="value"> 
 5.<view class="bottomMiddleHeaderItem" animation="{{animationMiddleHeaderItem}}"> 
 6.<!-- 心跳 --> 
 7.<view class="bottomMiddleHeaderItemSubView"> 
 8.<image src="/images/detail_vote_heart.png" style="width:32rpx; height:32rpx;" animation="{{animationMiddleHeaderItem}}"></image> 
 9.</view> 
 10.<!-- 投票文字 --> 
 11.<view class="bottomMiddleHeaderItemSubView">投票</view> 
 12.</view> 
 13.</view> 
 14.</view> 

js文件中:

1.[javascript] view plain copy
 2.// 页面渲染完成 
 3.onReady: function () { 
 4.var circleCount = 0; 
 5.// 心跳的外框动画 
 6.this.animationMiddleHeaderItem = wx.createAnimation({ 
 7.duration:1000, // 以毫秒为单位 
 8./** 
 9.* http://cubic-bezier.com/#0,0,.58,1 
 10* linear 动画一直较为均匀 
 11.* ease 从匀速到加速在到匀速 
 12.* ease-in 缓慢到匀速 
 13.* ease-in-out 从缓慢到匀速再到缓慢 
 14.* 
 15.* http://www.tuicool.com/articles/neqMVr 
 16.* step-start 动画一开始就跳到 100% 直到动画持续时间结束 一闪而过 
 17.* step-end 保持 0% 的样式直到动画持续时间结束 一闪而过 
 18.*/ 
 19.timingFunction: 'linear', 
 20.delay: 100, 
 21.transformOrigin: '50% 50%', 
 22.success: function (res) { 
 23.} 
 24.}); 
 25.setInterval(function() { 
 26.if (circleCount % 2 == 0) { 
 27.this.animationMiddleHeaderItem.scale(1.15).step(); 
 28.} else { 
 29.this.animationMiddleHeaderItem.scale(1.0).step(); 
 30.} ​​​​​​​
 31.this.setData({ 
 32.animationMiddleHeaderItem: this.animationMiddleHeaderItem.export() 
 33.}); ​​​​​​​
 34.circleCount++; 
 35.if (circleCount == 1000) { 
 36.circleCount = 0; 
 37.} 
 38.}.bind(this), 1000); ​​​​​​​
 39.}, 

2、微信显示倒计时

wxml文件中:

1.[html] view plain copy
 2.<!--倒计时 --> 
 3.<view class="countDownTimeView countDownAllView" > 
 4.<view class="voteText countDownTimeText">{{countDownDay}}天</view> 
 5.<view class="voteText countDownTimeText">{{countDownHour}}时</view> 
 6.<view class="voteText countDownTimeText">{{countDownMinute}}分</view> 
 7.<view class="voteText countDownTimeText">{{countDownSecond}}秒</view> 
 8.</view> 

js文件中:

1.[javascript] view plain copy
 2.Page( { 
 3.data: { 
 4.windowHeight: 654, 
 5.maxtime: "", 
 6.isHiddenLoading: true, 
 7.isHiddenToast: true, 
 8.dataList: {}, 
 9.countDownDay: 0, 
 10.countDownHour: 0, 
 11.countDownMinute: 0, 
 12.countDownSecond: 0, 
 13.}, 
 14.//事件处理函数 
 15.bindViewTap: function() { 
 16.wx.navigateTo( { 
 17.url: '../logs/logs' 
 18.}) 
 19.},
 20.onLoad: function() { 
 21.this.setData( { 
 22.windowHeight: wx.getStorageSync( 'windowHeight' ) 
 23.}); 
 24.}, ​​​​​​​
 25.// 页面渲染完成后 调用 
 26.onReady: function () { 
 27.var totalSecond = 1505540080 - Date.parse(new Date())/1000; ​​​​​​​
 28.var interval = setInterval(function () { 
 29.// 秒数 
 30.var second = totalSecond; ​​​​​​​
 31.// 天数位 
 32.var day = Math.floor(second / 3600 / 24); 
 33.var dayStr = day.toString(); 
 34.if (dayStr.length == 1) dayStr = '0' + dayStr; ​​​​​​​
 35.// 小时位 
 36.var hr = Math.floor((second - day * 3600 * 24) / 3600); 
 37.var hrStr = hr.toString(); 
 38.if (hrStr.length == 1) hrStr = '0' + hrStr; ​​​​​​​
 39.// 分钟位 
 40.var min = Math.floor((second - day * 3600 *24 - hr * 3600) / 60); 
 41.var minStr = min.toString(); 
 42.if (minStr.length == 1) minStr = '0' + minStr; ​​​​​​​
 43.// 秒位 
 44.var sec = second - day * 3600 * 24 - hr * 3600 - min*60; 
 45.var secStr = sec.toString(); 
 46.if (secStr.length == 1) secStr = '0' + secStr; ​​​​​​​
 47.this.setData({ 
 48.countDownDay: dayStr, 
 49.countDownHour: hrStr, 
 50.countDownMinute: minStr, 
 51.countDownSecond: secStr, 
 52.}); 
 53.totalSecond--; 
 54.if (totalSecond < 0) { 
 55.clearInterval(interval); 
 56.wx.showToast({ 
 57.title: '活动已结束', 
 58.}); 
 59.this.setData({ 
 60.countDownDay: '00', 
 61.countDownHour: '00', 
 62.countDownMinute: '00', 
 63.countDownSecond: '00', 
 64.}); 
 65.} 
 66.}.bind(this), 1000); 
 67.}, ​​​​​​​
 68.//cell事件处理函数 
 69.bindCellViewTap: function (e) { 
 70.var id = e.currentTarget.dataset.id; 
 71.wx.navigateTo({ 
 72.url: '../babyDetail/babyDetail?id=' + id 
 73.}); 
 74.} 
 75.}) 

效果图:

084928qf2aw6zi4x23xq44.jpg084928qf2aw6zi4x23xq44.jpg

转载于:https://my.oschina.net/u/3396785/blog/1509517

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值