html代码:
<div class="endtime" value=""></div>
<div class="endtime" value=""></div>
<div class="endtime" value=""></div>
<div class="endtime" value=""></div>
js代码:
var serverTime = ; //服务器时间,毫秒数
$(function(){
var dateTime = new Date();
var difference = dateTime.getTime() - serverTime; //客户端与服务器时间偏移量 setInterval(function(){
$(".endtime").each(function(){
var obj = $(this);
endTime = new Date(parseInt(obj.attr('value')) * ),
nowTime = new Date();
nMS=endTime.getTime() - nowTime.getTime() + difference,
myD=Math.floor(nMS/( * * * )); //天
myH=Math.floor(nMS/(1000 * 60 * )) % , //小时
myM=Math.floor(nMS/(1000 * )) % , //分钟
myS=Math.floor(nMS/) % , //秒
myMS=Math.floor(nMS/) % ; //拆分秒
if(myD>= ){
var str = myD+"天"+myH+"小时"+myM+"分"+myS+"."+myMS+"秒";
}else{
var str = "已结束!";
}
obj.html(str);
});
}, ); //每0.1秒执行一次
});
注解:
每个活动定义了结束时间.endtime属性value的值,这个值是一串数字,表示自1970年1月1日以来的秒数,由后台(PHP)生成。比如结束时间2013-05-01 12:00可以通过PHP转换为1367380800秒,转换后的秒数可以用来接下来的jQuery计算倒计时。