网站倒计时为了防止用户该本地时间,所以应该用的是服务器的时间来计算的。
这是我写的一个简单例子,直接粘贴使用即可,如果时间超过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>