倒计时时间脚本

 

<!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>
</head>
<body>
<div id="time"></div>
<script type="text/javascript">
/*
name: 天数倒计时
ver: 0.2
author: Garphy
email: garphy55@gmail.com
*/
//=======================参数配置区域
var oneday = '2010-11-12';     //日期,格式 y-m-d
var onetime = '20:00:00';     //时间,格式 hh:mm:ss
var show_ms = 1;      //是否显示毫秒
var preText = '距离广州亚运会开幕还有 '; //前缀文字
var tips = '热烈庆祝亚运会正式开幕!';  //到期提示文字
//=======================参数配置区域
var date = oneday.split('-');
var time = onetime.split(':');
var y = parseInt(date[0]),m=parseInt(date[1]),d=parseInt(date[2]);
var hh = parseInt(time[0]),mm=parseInt(time[1]),ss=parseInt(time[2]);
//var y=2010,m=11,d=12,hh=20,mm=0,ss=0;
var f=show_ms?1:1000;
var o = document.getElementById('time');
//闰年判断
function yearType(y){ return ( ( y%4 == 0 && y%100 != 0) || y%400 == 0 ) ? 1:0;}
//计算当年月份天数差
function countDays(from,to,year){
 var eachdays = [0,31,28,31,30,31,30,31,31,30,31,30,31];
 if(yearType(year))eachdays[2]=29;
 var days = 0;
 for(i=from;i<=to;i++) days += eachdays[i];
 return days;
}
//格式化时间输出
function format(n){ return n<10?'0'+n:n;}
function count(){
 var t = new Date();
 var cy=t.getFullYear(),cm=t.getMonth()+1,cd=t.getDate(),chh=t.getHours(),cmm=t.getMinutes(),css=t.getSeconds(),cms=t.getMilliseconds(); 
 var num=0;
 if(y>cy){
  num+=365*(y-cy-1);
  for(i=cy;i<y;i++){if(yearType(i))num++;}     //闰年加1
  if(yearType(cy) && parseInt(cm+''+format(cd))>=229) num--; //排除开头闰年情况
  if(yearType(y-1) && parseInt(cm+''+format(cd))<229) num--; //排除尾年闰年情况
  num+=countDays(cm,12,y-1) + countDays(1,m-1,y); 
 }else{
  num+=countDays(cm,m-1,y);
 }
 num = num - cd + d;
 var seconds = ss - css;
  if(ss<css){ seconds += 60; cmm++;}
 var mins = mm - cmm;
  if(mm<cmm){ mins += 60; chh++;} 
 var hours = hh-chh;
  if(hh<chh){ hours += 24; num--;}
 
 if(num>=0 && hours>=0 && mins>=0 && seconds >=0){
  o.innerHTML = preText;
  if(num>0)o.innerHTML += num+'天 ';
  o.innerHTML += format(hours)+':'+format(mins)+':'+format(seconds);
  if(show_ms){
   mss = 999-cms;
   if(mss<10)
    o.innerHTML+=':00'+ mss;
   else if(mss<100)
    o.innerHTML+=':0'+ mss;
   else
    o.innerHTML+=':'+ mss;
  }
  timer = setTimeout( count,f);
 }else{
  o.innerHTML = tips;
  clearTimeout(timer);
 } 
}
var timer = setTimeout( count,f);
</script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值