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

我这么写,为啥几次都是41960?

<script type="text/javascript">

  var num=0;

  function startCount() {

    document.getElementById('count').value=num;

    num=num+1;

    startCount(); 

  }

  setTimeout("startCount()",1000);

</script>


提问者:慕数据1008917 2017-02-22 10:13

个回答

  • 慢l慢
    2017-02-22 11:40:52
    已采纳

    你没有成功启动函数:

    <script type="text/javascript">

      var num=0;

      function startCount() {

        document.getElementById('count').value=num;

        num=num+1;

        setTimeout(startCount,1000); 

      }

        setTimeout(startCount,0);

    或者:

    <body onload="startCount()">

    onload事件要放在body里才有效。

  • 微小唯
    2017-02-22 16:28:26

    支持onload该事件的 JavaScript 对象:

    image, layer, window  

    input不支持该事件,直接写

    window.onload=function(){

    startCount();

    }


  • 微小唯
    2017-02-22 16:05:56

    楼上正解,或者setTimeout(startCount,1000)放在函数体里面,外面加上window.onload=function(){

    startCount()}

  • 慕数据1008917
    2017-02-22 10:19:39

    <!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" onload="startCount() "/>

    </form>

    </body>

    </html>


    而且为啥没反应?