JS常用倒计时代码实例总结
本文实例总结了JS常用倒计时代码。分享给大家供大家参考,具体如下:
第一种:精确到秒的javascript倒计时代码
<formname="form1"> <divalign="center"align="center"> <center>离2010年还有:<br> <inputtype="textarea"name="left"size="35"style="text-align:center"> </center> </div> </form> <scriptLANGUAGE="javascript"> startclock() vartimerID=null; vartimerRunning=false; functionshowtime(){ Today=newDate(); varNowHour=Today.getHours(); varNowMinute=Today.getMinutes(); varNowMonth=Today.getMonth(); varNowDate=Today.getDate(); varNowYear=Today.getYear(); varNowSecond=Today.getSeconds(); if(NowYear<2000) NowYear=1900+NowYear; Today=null; Hourleft=23-NowHour Minuteleft=59-NowMinute Secondleft=59-NowSecond Yearleft=2009-NowYear Monthleft=12-NowMonth-1 Dateleft=31-NowDate if(Secondleft<0) { Secondleft=60+Secondleft; Minuteleft=Minuteleft-1; } if(Minuteleft<0) { Minuteleft=60+Minuteleft; Hourleft=Hourleft-1; } if(Hourleft<0) { Hourleft=24+Hourleft; Dateleft=Dateleft-1; } if(Dateleft<0) { Dateleft=31+Dateleft; Monthleft=Monthleft-1; } if(Monthleft<0) { Monthleft=12+Monthleft; Yearleft=Yearleft-1; } Temp=Yearleft+'年,'+Monthleft+'月,'+Dateleft+'天,'+Hourleft+'小时,'+Minuteleft+'分,'+Secondleft+'秒' document.form1.left.value=Temp; timerID=setTimeout("showtime()",1000); timerRunning=true; } vartimerID=null; vartimerRunning=false; functionstopclock(){ if(timerRunning) clearTimeout(timerID); timerRunning=false; } functionstartclock(){ stopclock(); showtime(); } //--> </script>
第二种:某某运动会
<!--倒计时Javascriptbegin--> <scriptlanguage="JavaScript"> <!-- functionDigitalTime1() { vardeadline=newDate("08/13/2007")//开幕倒计时 varsymbol="8月13日" varnow=newDate() vardiff=-480-now.getTimezoneOffset()//是北京时间和当地时间的时间差 varleave=(deadline.getTime()-now.getTime())+diff*60000 varday=Math.floor(leave/(1000*60*60*24)) varhour=Math.floor(leave/(1000*3600))-(day*24) varminute=Math.floor(leave/(1000*60))-(day*24*60)-(hour*60) varsecond=Math.floor(leave/(1000))-(day*24*60*60)-(hour*60*60)-(minute*60) vardeadline_2=newDate("08/13/2004")//开幕后计时 varsymbol_2="8月13日" varnow_2=newDate() vardiff_2=-480-now.getTimezoneOffset()//是北京时间和当地时间的时间差 varleave_2=(now_2.getTime()-deadline_2.getTime())+diff_2*60000 varday_2=Math.floor(leave_2/(1000*60*60*24)) varhour_2=Math.floor(leave_2/(1000*3600))-(day_2*24) varminute_2=Math.floor(leave_2/(1000*60))-(day_2*24*60)-(hour_2*60) varsecond_2=Math.floor(leave_2/(1000))-(day_2*24*60*60)-(hour_2*60*60)-(minute_2*60) day=day+1; day_2=day_2+1; if(day>0)//还未开幕 { //LiveClock1.innerHTML="现在"+symbol+"天" LiveClock1.innerHTML="<font setTimeout("DigitalTime1()",1000) } if(day<0)//已经开幕 { //LiveClock1.innerHTML="现在离"+symbol+"还有"+day+"天"+hour+"小时"+minute+"分"+second+"秒" LiveClock1.innerHTML="<font setTimeout("DigitalTime1()",1000) } if(day==0)//正在开幕 { //LiveClock1.innerHTML="现在"+symbol+"天" LiveClock1.innerHTML="<font setTimeout("DigitalTime1()",1000) } if(day<0&day_2>19)//某某运动会结束 { //LiveClock1.innerHTML="现在离"+symbol+"还有"+day+"天"+hour+"小时"+minute+"分"+second+"秒" LiveClock1.innerHTML="<font setTimeout("DigitalTime1()",1000) } } //--> </script> <!--倒计时Javascriptend--> <bodyonload=DigitalTime1()> <divid=LiveClock1></div> </body>
第三种:小时倒计时
<SCRIPTLANGUAGE="JavaScript"> <!-- varmaxtime=60*60//一个小时,按秒计算,自己调整! functionCountDown(){ if(maxtime>=0){ minutes=Math.floor(maxtime/60); seconds=Math.floor(maxtime%60); msg="距离结束还有"+minutes+"分"+seconds+"秒"; document.all["timer"].innerHTML=msg; if(maxtime==5*60)alert('注意,还有5分钟!'); --maxtime; } else{ clearInterval(timer); alert("时间到,结束!"); } } timer=setInterval("CountDown()",1000); //--> </SCRIPT> <divid="timer"style="color:red"></div>
第四种:最简倒计时
<ScriptLanguage="JavaScript"> <!--Begin vartimedate=newDate("January14,2006"); vartimes="研究生考试"; varnow=newDate(); vardate=timedate.getTime()-now.getTime(); vartime=Math.floor(date/(1000*60*60*24)); if(time>=0); document.write("<li><fontcolor=#DEDBDE>现在离2006年"+times+"还有:<fontcolor=#ffffff><b>"+time+"</b></font>天</font></li>"); //End--> </Script>
第五种:最简倒计时二
<scriptlanguage="JavaScript"type="text/javascript"> functiondjs(){ varurodz=newDate("11/12/2008"); varnow=newDate(); varnum varile=urodz.getTime()-now.getTime(); vardni=Math.floor(ile/(1000*60*60*24)); if(dni>1) num=dni+1 elseif(dni==1)num=2 elseif(dni==0)num=1 elsenum=0 document.write(num) } </script> 距某某开幕式还有[<scriptlanguage="JavaScript"type="text/javascript">djs()</script>]天
第五个:Javascript倒计时器-采用系统时间自校验
这次利用系统时间自校验倒计时,无需手工调校使得倒计时更为精确,代码及详细注释如下:
<spanid="clock">00:01:11:00</span> <inputid="startB"type="button"value="startcountdown!"onclick="run()"> <inputid="endB"type="button"value="stopcountdown!"onclick="stop()"> <br> <inputid="diff"type="text"> <inputid="next"type="text"> <scriptlanguage="Javascript"> varnormalelapse=100; varnextelapse=normalelapse; varcounter; varstartTime; varstart=clock.innerText; varfinish="00:00:00:00"; vartimer=null; //开始运行 functionrun(){ startB.disabled=true; endB.disabled=false; counter=0; //初始化开始时间 startTime=newDate().valueOf(); //nextelapse是定时时间,初始时为100毫秒 //注意setInterval函数:时间逝去nextelapse(毫秒)后,onTimer才开始执行 timer=window.setInterval("onTimer()",nextelapse); } //停止运行 functionstop(){ startB.disabled=false; endB.disabled=true; window.clearTimeout(timer); } window.onload=function(){ endB.disabled=true; } //倒计时函数 functiononTimer() { if(start==finish) { window.clearInterval(timer); alert("timeisup!"); return; } varhms=newString(start).split(":"); varms=newNumber(hms[3]); vars=newNumber(hms[2]); varm=newNumber(hms[1]); varh=newNumber(hms[0]); ms-=10; if(ms<0) { ms=90; s-=1; if(s<0) { s=59; m-=1; } if(m<0) { m=59; h-=1; } } varms=ms<10?("0"+ms):ms; varss=s<10?("0"+s):s; varsm=m<10?("0"+m):m; varsh=h<10?("0"+h):h; start=sh+":"+sm+":"+ss+":"+ms; clock.innerText=start; //清除上一次的定时器 window.clearInterval(timer); //自校验系统时间得到时间差,并由此得到下次所启动的新定时器的时间nextelapse counter++; varcounterSecs=counter*100; varelapseSecs=newDate().valueOf()-startTime; vardiffSecs=counterSecs-elapseSecs; nextelapse=normalelapse+diffSecs; diff.value=counterSecs+"-"+elapseSecs+"="+diffSecs; next.value="nextelapse="+nextelapse; if(nextelapse<0)nextelapse=0; //启动新的定时器 timer=window.setInterval("onTimer()",nextelapse); } </script>
PS:这里再为大家推荐几款时间及计时器相关工具供大家参考使用:
在线秒表工具:
http://tools.jb51.net/bianmin/miaobiao
Unix时间戳(timestamp)转换工具:
http://tools.jb51.net/code/unixtime
在线世界各地时间查询:
http://tools.jb51.net/zhuanhuanqi/worldtime
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript时间与日期操作技巧总结》《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。