<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>倒计时效果</title>
<link rel='stylesheet' type='text/css' href='css/cs1.css' />
<script type='text/javascript' src="js/js1.js"></script>
</head>
<body>
<center>
<h1>倒计时效果</h1><hr/>
<form name='formnow'>
<input type='text' name='dd' size=2 />天
<input type='text' name='hh' size=2 />小时
<input type='text' name='mm' size=2 />分
<input type='text' name='ss' size=2 />秒<br /><br />
<input type='text' id='txt' name='txt' size=40 value=''/>
</form>
</center>
</body>
</html>
window.onload=function(){
var time=new Date();//获取当前时间
var yer=time.getFullYear();//年
var month=time.getMonth()+1;//月
var day=time.getDate();//天
var h=time.getHours();//时
var m=time.getMinutes();//分
var s=time.getSeconds();//秒
//var mil=time.getMilliseconds();//毫秒
var ownDate=yer+'年'+month+'月'+day+'日'+h+'时'+m+'分'+s+'秒';
function a(){
document.formnow.txt.value=ownDate;
}
window.setInterval(a,1000);
}
//为什么window.setInterval(a,1000);只执行一次后就在也不执行呢????????????????
因为你把setInterval()写在window.onload函数里了,而window.onload只会执行一次,所以它里面的函数,也只会执行一次。
另外补充一下,一般调用setInterval()的时候,这样写:
前面不用加window
变量声明全部包裹在a方法里即可。
提示两点:
setInterval尽量使用匿名方法
这种现实当前时间的,一般用半秒执行一次,这样能避免打开网页不在整秒的问题