问答详情
源自:8-5 计时器setTimeout()

setTimeout()使用问题。。

函数外层不用setTimeout(),直接调用函数为什么不能显示?。。但是添加一个点击控件按钮来调用的话又可以显示了?。

提问者:H0先生 2015-09-02 10:40

个回答

  • 无敌蜗牛
    2015-09-02 11:40:03

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

    把你的js代码放到body结束标签之前就可以了。浏览器是按照页面代码从上到下执行的,如果放在上面,执行js的时候页面上还没有“count”这个input标签,当然执行不了。用setTimeout设置一秒后才执行,这时浏览器已经加载了input标签,所以就可以执行了