为什么程序不启动.

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

PaulPierce

2018-12-30 14:10

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>计时器</title>

</head>

<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>


写回答 关注

4回答

  • EffortN
    2019-01-01 12:01:19
    已采纳

    html是从上到下加载的,你写的页面是先加载<script>标签中的,startCount()函数被调用的时候,下面的input还没加载,所以document.getElementById('count')会找不到节点,可以把<script>标签内容放在<form>标签下面

  • weixin_慕斯7536593
    2019-03-25 19:24:54

    setTimeout("startCount()",1000);这才是正确的

  • 小明哲
    2019-02-17 22:29:15

    你需要在底下写一个button来启动它

  • PaulPierce
    2019-01-03 13:13:16

    这个问题我同意你的说法. 可是下面代码 为啥能输出“this is new Child P”昵.

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <title>无标题文档</title>

    </head>

    <body>


    <ul id="test">

      <li>JavaScript</li>

      <li>HTML</li>

    </ul> 

     

    <script type="text/javascript">


      var otest = document.getElementById("test");  

      var newnode = document.createElement("P");

      newnode.innerHTML= "This is new Child P";

      otest.appendChild(newnode);

     // document.write(otest.innerHTML+"<br>");

      //document.write(newnode.innerHTML);

              

    </script> 


    </body>

    </html>


JavaScript进阶篇

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

469328 学习 · 22585 问题

查看课程

相似问题