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