下面是一个计时器,两个按钮,点击'开始'时间开始走动,点击'暂停'时间停止
?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>计时器</title>
<style type="text/css">
div{
width: 600px;
height: 100px;
font-size: 40px;
color: #FF0000;
margin: 0 auto;
background-color: #00FFFF;
}
</style>
<script type="text/javascript">
// window.onload=function (){/* 为什么加这个就报错??? */
/* 我的理解:window.donload是页面加载完以后再执行,而遇到setInterval和setTimeout时不允许页面加载完再执行,如本例,a()函数是页面执行完以后执行,而setTimeout却是遇到就执行,所以遇到setTimeout时报错函数未定义
解决方案:1:去掉window.onload。2:参考countdown文件*/
function a(){
// alert(1);
var myDate= new Date();
var t='现在是:'+'<br/>'+myDate.getFullYear()+"年";
t+=(myDate.getMonth()>9?myDate.getMonth():'0'+myDate.getMonth())+'月';
t+=(myDate.getDate()>9?myDate.getDate():'0'+myDate.getDate())+"日"+" ";
t+=(myDate.getHours()>9?myDate.getHours():'0'+myDate.getHours())+"时";//获取时
t+=(myDate.getMinutes()>9?myDate.getMinutes():'0'+myDate.getMinutes())+"分";//获取分
t+=(myDate.getSeconds()>9?myDate.getSeconds():'0'+myDate.getSeconds())+"秒";//获取秒
/* t+=myDate.getMilliseconds()+'毫秒'; */
document.getElementById("mytime").innerHTML = t;
tim=setTimeout("a()",1000);
//tim必须在这里写,找了好久,一开始写在下面怎么也动不起来,写在这里才会动起来.
}
// setTimeout("a()",1000);
var tim;/* 注意: 要使用 clearTimeout() 方法, 在创建执行定时操作时要使用全局变量: */
function s(){
setTimeout("a()",1000);
}
function e(){
clearTimeout(tim);
}
// setInterval("a()",1000);
// a();
// }
</script>
</head>
<body>
<div id='mytime'></div>
<button type="button" onclick="s()">开始</button>
<button type="button" onclick="e()">暂停</button>
</body>
</html>
?
还有一个问题困扰我好久,就是写上window.onload会报错,
另外我试验了好多次,对下面这段代码始终不理解
<script type="text/javascript">
window.onload=function () {
window.alert("加载完成");
}
</script>
它为什么会把提示框弹出至少两次?求各路神仙指点迷津.
|