为了账号安全,请及时绑定邮箱和手机立即绑定

setTimeout只执行一次,为何能够计时

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
<script type="text/javascript">
  var num=0;
  var i;
  function startCount(){
    document.getElementById('count').value=num;
    num=num+1;
    i=setTimeout("startCount()",1000);
  }
  function stopCount(){
  clearTimeout(i);
  }
</script>
</head>
<body>
  <form>
    <input type="text" id="count" />
    <input type="button" value="Start"  onclick="startCount()"/>
    <input type="button" value="Stop"  onclick="stopCount()" />
  </form>
</body>
</html>


正在回答

1 回答

setTimeout("startCount()",1000);在startCount()这个函数里被调用,属于递归调用,会反复被执行。

0 回复 有任何疑惑可以回复我~
#1

qq_四月天_10 提问者

但是在8-17编程练习中怎么不行呢?问题是 【setInterval在计时器那个章节可以计时,这个代码中为何不可,求大神帮忙看看】
2017-02-17 回复 有任何疑惑可以回复我~
#2

qq_四月天_10 提问者

因为代码太多,无法全部粘贴过来,不知你能否看到这个问题
2017-02-17 回复 有任何疑惑可以回复我~
#3

CodingJWL 回复 qq_四月天_10 提问者

已在该问题下回复,希望对你有帮助。
2017-02-18 回复 有任何疑惑可以回复我~
#4

qq_四月天_10 提问者 回复 CodingJWL

感谢单独找到问题并给予解答,感谢~~
2017-02-19 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

setTimeout只执行一次,为何能够计时

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信