1. 程式人生 > >JS倒計時:從某個固定時間開始倒記

JS倒計時:從某個固定時間開始倒記

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JS時間倒計時</title>
<script type="text/javascript">
var time_now_server,time_now_client,time_end,time_server_client,timerID;
 
time_end=new Date("2010/10/4 11:10:1");//結束的時間
time_end=time_end.getTime();
 
time_now_server=new Date("2010/10/04 10:10:1");//開始的時間
time_now_server=time_now_server.getTime();
 
time_now_client=new Date();
time_now_client=time_now_client.getTime();
 
time_server_client=time_now_server-time_now_client;
 
setTimeout("show_time()",1000);
 
function show_time()
{
 var timer = document.getElementById("timer");
 if(!timer){
 return ;
 }
 timer.innerHTML =time_server_client;
 
 var time_now,time_distance,str_time;
 var int_day,int_hour,int_minute,int_second;
 var time_now=new Date();
 time_now=time_now.getTime()+time_server_client;
 time_distance=time_end-time_now;
 if(time_distance>0)
 {
  int_day=Math.floor(time_distance/86400000)
  time_distance-=int_day*86400000;
  int_hour=Math.floor(time_distance/3600000)
  time_distance-=int_hour*3600000;
  int_minute=Math.floor(time_distance/60000)
  time_distance-=int_minute*60000;
  int_second=Math.floor(time_distance/1000)
 
  if(int_hour<10)
   int_hour="0"+int_hour;
  if(int_minute<10)
   int_minute="0"+int_minute;
  if(int_second<10)
   int_second="0"+int_second;
  str_time=int_day+"天"+int_hour+"小時"+int_minute+"分鐘"+int_second+"秒";
  timer.innerHTML=str_time;
  setTimeout("show_time()",1000);
 }
 else
 {
  timer.innerHTML =timer.innerHTML;
  clearTimeout(timerID)
 }
}
</script>
</head>
 
<body>
<div id="timer">這裡會被替換成例如:**天**小時**分鐘**秒</div>
</body>
</html>