第一个(毫秒级):
<!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>
第二个:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title> 等待10秒 </title> <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> </head> <body> <form id="form1" runat="server"> <div> 请等待<span id="dd">10</span>秒 </div> </form> </body> </html>
第三个:
<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>