javascript 倒计时,使用服务器时间倒计时,团购倒计时

如何取用服务器时间来倒计时。

1. 主要使用C#语言计算出 开始时间与当前时间 和 结束时间与当前时间 相差的毫秒数。保存在隐藏域中。

View Code
1         DateTime currentTime = DateTime.Now;
2         hfSTime.Value = model.STime.Value.Subtract(currentTime).TotalMilliseconds.ToString();
3         hfETime.Value = model.ETime.Value.Subtract(currentTime).TotalMilliseconds.ToString();

 

2. 用js取出隐藏域中的值。在OnLoad事件中触发计算。

starSecodesT = Math.floor($("#hfSTime").val());
endSecodesT = Math.floor($("#hfETime").val())
CountDown1();

 

3. javascript 倒计时代码处理

View Code
 1 var starSecodesT =0;   // 开始与现在时间相差的毫秒   
 2     var endSecodesT= 0 ;  // 结束与现在时间相差的毫秒   
 3     var currentSecodes = -1;
 4     var isStart =true; //是否在倒计时开始
 5     //倒计时
 6     function CountDown1(){
 7       starSecodesT = starSecodesT -1000;
 8       endSecodesT = endSecodesT - 1000;
 9        var self=this;
10        if(starSecodesT > 0){   // 秒杀未开始,相差的毫秒数
11           currentSecodes = starSecodesT;
12        }else if(endSecodesT > 0){
13          currentSecodes = endSecodesT; //// 倒计时结束时间
14          isStart = false;
15        }             
16     
17        var msPerDay=24*60*60*1000
18        var e_daysold=currentSecodes/msPerDay; // 天数
19        var daysold=Math.floor(e_daysold);
20        
21        var e_hrsold=(e_daysold-daysold)*24;
22        var hrsold=Math.floor(e_hrsold);
23        var e_minsold=(e_hrsold-hrsold)*60;
24        var minsold=Math.floor((e_hrsold-hrsold)*60);
25        var seconds=Math.floor((e_minsold-minsold)*60);
26        
27        var timeout11 = window.setTimeout(function(){self.CountDown1();}, 1000);
28        
29        if(endSecodesT < 0){   // 当开始时间走完,开始计算倒计时结束时间
30             document.getElementById("sTime").innerHTML="秒杀活动已结束!";
31             document.getElementById("divms").attributes["class"].value="maoshamainpricetit02";
32             document.getElementById("Ibtnms").style.display="none";
33             window.clearTimeout(timeout11);
34        }else {
35             if(!isStart){  // 结束时间 大于 当前时间
36 
37                 document.getElementById("sTimeTitle").innerHTML="秒杀活动剩余时间";
38                 var strTime2  = daysold>0?daysold+"天":"";
39                 strTime2 =hrsold >0 ? strTime2 +hrsold+"小时":strTime2;
40                 strTime2 =minsold >0 ? (strTime2 +minsold+"分"):strTime2;
41                 strTime2 = seconds >0? (strTime2 +seconds+"秒"):strTime2;
42                 document.getElementById("sTime").innerHTML=strTime2 ;//daysold+"天"+hrsold+"小时"+minsold+"分"+seconds+"秒" ;
43                 document.getElementById("Ibtnms").style.display="block";
44                 document.getElementById("divms").attributes["class"].value="maoshamainpricetit";
45                 
46             }else
47             {
48                 document.getElementById("sTimeTitle").innerHTML="秒杀活动倒计时";
49                 var strTime2  = daysold>0?daysold+"天":"";
50                 strTime2 =hrsold >0 ? strTime2 +hrsold+"小时":strTime2;
51                 strTime2 =minsold >0 ? (strTime2 +minsold+"分"):strTime2;
52                 strTime2 = seconds >0? (strTime2 +seconds+"秒"):strTime2;
53                 document.getElementById("sTime").innerHTML=strTime2 ;//daysold+"天"+hrsold+"小时"+minsold+"分"+seconds+"秒" ;
54                 document.getElementById("Ibtnms").style.display="none";
55                 document.getElementById("divms").attributes["class"].value="maoshamainpricetit03";
56         //        if(daysold >3){
57         //        document.getElementById("sTime").innerHTML="剩余时间 3天以上";
58         //        }else{
59                     //document.getElementById("sTime").innerHTML=daysold+"天"+hrsold+"小时"+minsold+"分"+seconds+"秒" ;
60                     //}
61 
62             }
63         }
64          
65     }

 

4. 参考代码来自。

http://www.nowamagic.net/librarys/veda/detail/421

posted @ 2012-12-11 09:55  玄魄冰  阅读(440)  评论(0编辑  收藏  举报