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

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

慕数据1008917

2017-02-22 10:13

<script type="text/javascript">

  var num=0;

  function startCount() {

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

    num=num+1;

    startCount(); 

  }

  setTimeout("startCount()",1000);

</script>


写回答 关注

4回答

  • 慢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里才有效。

    慕数据100...

    soga!!谢谢!

    2017-02-22 16:22:01

    共 1 条回复 >

  • 微小唯
    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>


    而且为啥没反应?

JavaScript进阶篇

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

468064 学习 · 21891 问题

查看课程

相似问题