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.})
					
		
			
				 
		
	
					 
			
	
效果图:
	
 
                   
                
                   
                   
                
                   
                
         
     
		 
					 
	 
     
     
 
            
 
			



 
                  
                  
                  
                  
                  
                  
                     