lee_fp
2017-07-15 13:37
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器1</title>
<script type="text/javascript">
var time=new Date();
function clock(){
//var time=new Date();
document.getElementById("clock").value = time;
}
var i;
function start() {
clearInterval(i);
i=setInterval(clock,100);
}
function stop() {
clearInterval(i);
}
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50" />
<input type="button" value="Stop" onclick="stop()" />
<input type="button" value="Start" onclick="start()" />
</form>
</body>
</html>
你time 移出这个函数外面,那么这个time的赋值就只执行过一次,那就是页面加载好的那一次,而clock函数 执行的过程中调用的是没有变化过的time; 你要让没100毫秒获取的是当前的time,所以time要放入函数中;
因为var time=new Date();获取的是当前时间,如果想计时,就必须多次执行这行代码,每次都获取的是当前的时间,然后写入到input框中,这就是为什么要放入function 中 通过setInterval()多次触发。 如果放在函数外面,那就只能触发一次,也就谈不上时间的改变了,自然就无法计时了
~.~!
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题