类团购网站的倒倒计时

网站倒计时为了防止用户该本地时间,所以应该用的是服务器的时间来计算的。

这是我写的一个简单例子,直接粘贴使用即可,如果时间超过2014年2月27日23:59:59请自己改时间,请看注释:

 

<body>
  <div id="time">
   </div>
     <script>
 
 		var id = document.getElementById('time');
 		var a = []; //放时间的数组
 		//页面第一次加载时获得倒计时信息
 		function first(){
	 		var spacing = [24,60,60]; //时间计算固定的数组
	 		var l = spacing.length;
	 		var n =1393516799000-Date.now();//Date.now()取的是本地时间,实际上应该用服务器时间‘1393516799000’是2014年2月27日23:59:59的毫秒数	 		var t = parseInt(n/1000 ,10); //距离目的时间总的有多少秒
	 		for(var i=0;i<l;i++){
	 			var num = spacing.pop();
				var time = t%num;			
	 			a.unshift(time);
	 			t= (t-time)/num; //距离目的时间有多少分、时、天
	 		}
	 		a.unshift(t);
	 		setHtml(a);
		}
 		function setHtml(a){
 			id.innerHTML = a[0] +"天" + a[1] +"小时"+a[2]+"分"+a[3]+"秒";
 		}
 		
 		//递归检查时分秒递减有没有小于0
 		var n = [0,24,60,60] //时间计算固定的数组
 		function check(t,index){
 			var temp = --t[index];
			if(temp<0){
				t[index] = n[index];
				return check(t,--index);
				
			}else{
				return t[index] = temp;
			}
 		}
 		//过1秒执行一次
 		function tick(){
 			var t= a;
 			var time = [];

			var index = t.length-1;
			check(t,index);
 			setHtml(t);
 		}
 		first();
 		setInterval(tick,1000)
     </script>
  </body>

 

  

posted @ 2014-02-21 17:59  RedAngel  阅读(197)  评论(0编辑  收藏  举报