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

关于setTimeout

这里为什么直接调用startCount()函数,没有计时器效果。  之后试了window.onload也是有计数效果的。求解释为什么直接调用是无效的额

提问者:碎比 2016-01-26 15:24

个回答

  • SinTod
    2016-01-26 17:49:01
    已采纳

    刚弄清楚了,其实这个问题我上面的两个回答都是错误的,之所以没调用是因为文档没有加载完成它就执行了,解决办法可以把script脚本放到form下方 或者把startCount方法放进window.onload=function(){startCount();}里面.

  • 绝望的光
    2016-01-30 18:12:47

    碰到同样的问题了 多谢

  • SinTod
    2016-01-26 16:14:04

    计数器在js里调用必须声明延迟时间.

  • SinTod
    2016-01-26 15:56:45

    <!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);
       }
       // setTimeout("startCount()",1000);
       //startCount();
    </script>
    </head>
    <body>
    <form>
       <input type="text" id="count" onclick="startCount()"/>
    </form>
    </body>
    </html>

    这样是可以调用的.