JS做的網站團購倒計時

JS函數如下:
<script type="text/javascript">
<!--
function showTimeIsBegin(time){
var self=this;
//下面這句爲重點,setTimeout這個函數我就不多講了(百度一下),說下setTimeout的參數
//一般在在網上看到的都會這樣寫setTimeout("showTimeIsBegin()",1000);
//大家都發現了吧,如果你按照這個邏輯去寫的話肯定是錯誤的,除非你的時間是直接定義在JS函數裏的
//所以說,這裏你必須定義一個上面的“var self=this;”然後將其重寫在傳入time參數,如下
window.setTimeout(function(){self.showTimeIsBegin(time);}, 1000);
//下面的這句BirthDay=new Date()原來是這樣寫的BirthDay=new Date('3-14-2012 14:23:59');
//可以看出它直接把結束時間的參數寫在函數裏了
//如果是這樣的話,就沒動態控制的意義了,所以改成如下形式
BirthDay=new Date(time);
today=new Date();
timeold=(BirthDay.getTime()-today.getTime());
sectimeold=timeold/1000
secondsold=Math.floor(sectimeold);
msPerDay=24*60*60*1000
e_daysold=timeold/msPerDay
daysold=Math.floor(e_daysold);
e_hrsold=(e_daysold-daysold)*24;
hrsold=Math.floor(e_hrsold);
e_minsold=(e_hrsold-hrsold)*60;
minsold=Math.floor((e_hrsold-hrsold)*60);
seconds=Math.floor((e_minsold-minsold)*60);
if(daysold<0)
{
span_dt_dt.innerHTML="時間到!";
}else
{
span_dt_dt.innerHTML=daysold+"天"+hrsold+"小時"+minsold+"分"+seconds+"秒" ;

}
}
//記得這裏重新調用也要傳參數,別忘記了
 showTimeIsBegin(time);
//-->
</script>

//服務器代碼如下:
    protected void Page_Load(object sender, EventArgs e)
    {
        //此處將你DB裏設置的數據查出來,並將其格式化成Time.ToString("mm-dd-yyyy hh:mm:ss")
        //下面這個time是測試時間
         string time = "3-14-2012 14:23:59";
        //此處爲服務器代碼調用JS方法並傳入參數
         Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "showTimeIsBegin('" + time + "')", true);
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章