<!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 on
var on
var show_ms = 1; //是否显示毫秒
var preText = '距离广州亚运会开幕还有 '; //前缀文字
var tips = '热烈庆祝亚运会正式开幕!'; //到期提示文字
//=======================参数配置区域
var date = on
var time = on
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>
倒计时时间脚本
最新推荐文章于 2024-06-12 14:02:38 发布