CountDown
by divayang
HTML
<span id="qianggou_clock">剩余时间<strong>16:41:24.2</strong></span>
<div>
<p id="timer0"><strong>网上支付:</strong><strong class="red">还剩 <span class="day">00</span> 天 <span class="hour">00</span> 小时 <span class="minute">00</span> 分 <span class="second">00</span> 秒</strong></p>
<p id="timer1"><strong>邮局银行电汇:</strong><strong class="red">还剩 <span class="day">00</span> 天 <span class="hour">00</span> 小时 <span class="minute">00</span> 分 <span class="second">00</span> 秒</strong></p>
<p id="timer2"><strong>秒杀商品:</strong><strong class="red">还剩 <span class="day">00</span> 天 <span class="hour">00</span> 小时 <span class="minute">00</span> 分 <span class="second">00</span> 秒</strong></p>
<p id="timer3"><strong>团购商品:</strong><strong class="red">还剩 <span class="day">00</span> 天 <span class="hour">00</span> 小时 <span class="minute">00</span> 分 <span class="second">00</span> 秒</strong></p>
<p id="timer4"><strong>手机充值:</strong><strong class="red">还剩 <span class="day">00</span> 天 <span class="hour">00</span> 小时 <span class="minute">00</span> 分 <span class="second">00</span> 秒</strong></p>
</div>
JavaScript
// JavaScript DocumentG.app.servertime
var qianggou = function(c,serverTime){
var a=this,h=9,g=new Date(parseInt(serverTime,10)*1000),
e=new Date().getTime()-g,
f=new Date(g.getFullYear(), g.getMonth(),g.getDate(),h).getTime()+(g.getHours()>=h?3600*1000*24:0);
g=g.getTime();
c=$(c);
function d(){
g=new Date().getTime()-e;
var j=parseInt((f-g)/1000,10),l=0,k=[];
k[l++]=parseInt(((f-g)%1000)/100,10);
while(l<4){
k[l++]=(j%60).toString().replace(/^(\d)$/,"0$1");
j=parseInt((j-j%60)/60,10)
}
if(k[1]==="00"&&k[2]==="00"&&k[3]==="00"){
c[0].innerHTML="Promotion is over!";
clearInterval(a.countdownTimer);
}
else{
c[0].innerHTML="Time Left: <strong>"+k[3]+":"+k[2]+":"+k[1]+"."+k[0]+"</strong>";
}
}
this.countdownTimer=setInterval(d,50);
};
// 倒计时定时器
// author:bill.s.li
// createdate:2011-11-07
// Modified By Dan Yang: 2012-01.09 Add Day Count
// Modified By Dan Yang: 2012-01.19 Fix IE's Mouse Rightkey Click caused Countdown Bug
var countdown = function(objLst){
var _self = this;
this.objLst = objLst.length?objLst:null;
this._onstart = null;
this._oncomplete = null;
this._oninterval = null;
this._timer = null;
this.start = function(){
if(_self._timer === null && _self.objLst !== null){
_self._timer = setInterval(_self._handler,1000);
if(_self._onstart !== null)
{
$(_self.objLst).each(
function(){
if($.browser.msie){
this.left = this.terminal > (new Date()) ? parseInt((this.terminal.getTime()-(new Date()).getTime())/1000) : 0;
}
var obj = {
day:Math.floor(this.left/(60*60*24)),
hour:Math.floor(this.left/(60*60)) % 24,
minutes:Math.floor(this.left/(60)) % 60,
second:Math.floor(this.left) % 60,
id:this.id};
...