第一个:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>counter</title> <script language="javascript" type="text/JavaScript"> function Counter(nMax,nInterval) { this.maxTime=nMax; this.interval=nInterval; this.objId="timer"; this.obj=null; this.num=this.maxTime; this.timer=null; this.start=function() { this.obj=document.getElementById(this.objId); if(this.num>0) setTimeout(this.run,this.interval*1000); }; this.run=function() { if(myCounter.num>0) { myCounter.num--; myCounter.obj.innerHTML=myCounter.num; myCounter.timer=setTimeout(myCounter.run,myCounter.interval*1000); } else clearTimeout(myCounter.timer); }; this.show=function() { document.write("<span id="+this.objId+">"+this.num+"</span>"); this.obj=document.getElementById(this.objId); //alert(this.obj.innerHTML); } } </script> </head> <body onload="myCounter.start();"> <script language="JavaScript" type="text/JavaScript"> var myCounter=new Counter(10,1); </script> <p>现在剩下 <script language="JavaScript" type="text/JavaScript"> myCounter.show(); </script> 秒钟!</p>
第二个:很中庸的倒计时,我用的这个
请等待<span id="dd">10</span>秒 <script type="text/javascript"> function run(){ var s = document.getElementById("dd"); if(s.innerHTML == 0){ window.location.href='www.baidu.com'; return false; } s.innerHTML = s.innerHTML * 1 - 1; } window.setInterval("run();", 1000); </script>
第三个:毫秒级的,比较紧张:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script type="text/javascript"> <!-- var duration=9900; var endTime = new Date().getTime() + duration + 100; function interval() { var n=(endTime-new Date().getTime())/1000; if(n<0) return; document.getElementById("timeout").innerHTML = n.toFixed(3); setTimeout(interval, 10); } window.onload=function() { setTimeout("window.location.href='http://www.baidu.com'", duration); interval(); } //--> </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>等待10秒</title> </head> <body> <form id="form1" runat="server"> <div> 现在剩下 <span id="timeout">10.000</span> 秒后 将自动跳转 </div> </form> </body> </html>