为什么不能直接调用startCount?

来源:8-5 计时器setTimeout()

慕粉8371238

2019-10-10 02:45

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

</script>
</head>
<body>
<form>
<input type="text" id="count"  />
</form>
</body>
</html>


写回答 关注

2回答

  • zlm_Daybreak
    2019-10-17 14:24:57

    会报错的,执行到

    startCount();

    的时候,还没有加载 input 标签,getElementById 会报错。

    可以自己写一个本地 html 然后看下 console 的信息。

  • 慕粉8371238
    2019-10-10 02:52:59
    这样不应该也可以调用函数,然后进入计时吗?
    
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>计时器</title>
    <script type="text/javascript">
      var num=0;
      function startCount() {
        document.getElementById('count').value=num;
        num=num+1;
        setTimeout(startCount,1000);
      }
    startCount();
    </script>
    </head>
    <body>
    <form>
    <input type="text" id="count"  />
    </form>
    </body>
    </html>


    qq_慕田峪...

    这样不可以的 你需要把js代码放到input的后面才会执行

    2020-06-04 14:03:41

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

467373 学习 · 21877 问题

查看课程

相似问题