按秒刷新的时钟(无闪刷新)
发布时间:2007-3-30 14:56:42
先看一下效果吧,在本人的另一个站点文件夹下:http://www.wucq.cn/ajax/ajax5.html.原理很简单,每1000毫秒(一秒)重新获得一次系统时间,并显示出来.下面把源文件附上,并在其中加了部分说明:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Language' content='zh-cn' />
<meta http-equiv='Content-Type' content='text/html; charset=gb2312' />
<title>不想说乔丹</title>
<script type="text/javascript">
/*每秒自刷新一次的时钟
不想说乔丹2007-3-27编写
wggipkhgef@yahoo.com.cn
http://www.wgg.com.cn http://www.wucq.cn
*/
function refresh_time(){
d=new Date();// 创建 Date 对象
var s="";
var show_y="";
show_m=dtos(d.getMonth()+1);// 获取月份
show_d=dtos(d.getDate());// 获取日
show_h=dtos(d.getHours());//获取时
show_mm=dtos(d.getMinutes());//获取分
show_s=dtos(d.getSeconds());//获取秒
if (window.ActiveXObject) show_y=d.getYear();//判断是否为IE,IE中getYear()函数返回当前年份,而OP/FF返回的为当前年份与1900年相差数
else if (window.XMLHttpRequest) show_y=d.getYear()+1900;
s=s+show_y+"/"+show_m+"/"+show_d+" "+show_h+":"+show_mm+":"+show_s; //按yyyy/mm/dd hh:mm:ss格式
setTimeout("refresh_time()",1000);//每一秒递归调用自函数
document.getElementById("show_time").innerHTML=s;//在ID="show_time"处显示获得的时间
}
function dtos (num) {
//dtos函数的作用:在10以下的数字前面补0,使单位数字变成双位数字
var ss="";
if (num<10) ss="0"+num;//少于10,在前+0
else ss=num;//大于10,不变
return (ss);
}
</script>
</head>
<body onload="refresh_time();">
<div id="show_time"></div>
</body>
</html>