为什么要两句setTimeout("startCount()",1000);

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

human123

2015-07-24 16:50

为什么要两句setTimeout("startCount()",1000);才能执行

写回答 关注

3回答

  • arlenhui
    2015-07-24 19:42:04
    已采纳

    回复 human123:外面那个延迟一秒执行startCount函数,里面那个循环执行startCount函数。外面那个主要作用就是等dom节点都加载完才执行函数。写成以下形式同样可以实现效果。


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>计时器</title>
    </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);
      }
      startCount();
    </script>
    </body>
    </html>


    qq_嶸歸_...

    setTimeout("startCount()",1000);改成 startCount(); 不行好不好,你试过没有,不要在这里误导别人

    2018-07-13 18:45:02

    共 4 条回复 >

  • 鲜衣
    2015-09-07 23:00:51

    其实应该像讲解中的例子一样,应该设置一个按钮去启动函数,这样就比较好理解了。第二个setTimeout("startCount()",1000)相当于就是这个启动按钮,有了这句话就不用启动按钮了。有错误的地方还望指正!!

    <!DOCTYPE HTML>
    <html>
    <head>
    <script type="text/javascript">
    var num=0;
    function numCount(){
     document.getElementById('txt').value=num;
     num=num+1;
     setTimeout("numCount()",1000);
     }
    </script>
    </head>
    <body>
    <form>
    <input type="text" id="txt" />
    <input type="button" value="Start" onClick="numCount()" />
    </form>
    </body>
    </html>


  • arlenhui
    2015-07-24 18:43:03

    函数里面的没有调用函数的时候是不会启动的

    qq_小城故... 回复human1...

    里面循环作用,外面调用作用

    2015-07-29 17:04:42

    共 2 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题