清除定时器获取的id返回值,function clock(){ var mydate = new Date(); document.getElementById("con").value =mydate; } i = setInterval(clock,1000);function start(){ i = setInterval(clock,1000); }
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
function clock(){
var mydate = new Date();
document.getElementById("con").value =mydate;
}
i = setInterval(clock,1000);
function start(){
i = setInterval(clock,1000) ;
}
</script>
</head>
<body>
<form >
<input type="text" name="text" id="con" size="50"/>
<input type="button" name="button" value="start" onclick="start()"/>
<input type="button" name="button" value="stop" onclick="clearInterval(i)"/>
</form>
</body>
</html>
疑问:
刚开始打开页面,执行定时器,而start函数没有被调用,所以不执行。当第一次按stop时,清除第一个定时器,然后按start,按第二次stop时,第一个定时器由于被清理掉(只执行一次),所以不执行,而是执行清理start函数内的定时器,此后,无论按start与stop起作用的都只是start函数里的定时器吧(第一个已经失效),是这样理解吗?