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

为什么在script里面写startCount();没有用 在外面新加一个按钮绑定onclick事件才能触发调用startCount函数一次 继而进行内部调用

startCount();

提问者:Demon丶Y 2016-07-12 10:46

个回答

  • 我是刘高兴
    2016-07-16 20:18:59

    function startCount() {
        document.getElementById('count').value=num;
        num=num+1;  
        setTimeout("startCount()",1000);
      }

    因为这里的setTimeout("startCount()",1000)是在函数内部,是函数的一部分,你不用onclick调用该函数的话是不起作用的(函数需调用才能执行,不然只是几行代码)。所以需要下边表单里的onclick来调用。

    当然,你把setTimeout("startCount()",1000)再放在函数的外边不需要onclick也会执行了,像下边这样:

    function startCount() {
        document.getElementById('count').value=num;
        num=num+1;  
        setTimeout("startCount()",1000);
      }
      setTimeout("startCount()",10000);


  • 我要开发地图系统
    2016-07-16 15:50:59

    你好!

    你的本意是要每间隔一秒数字加1,以达到计时的效果;具体的做法就是每隔一秒执行一下函数。

    setTimeout();这个方法是在等到一段时间后执行一次函数,只执行一次;

    setInterval() ;这个方法每隔一段时间就执行一次函数,不断地执行;

        所以,setInterval() ;才符合你的要求;

    <script type="text/javascript">

      var num=0;

      function startCount() {

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

        num=num+1; 

      }

      setInterval("startCount()",1000);

    </script>


  • 李小子
    2016-07-16 15:42:48

    因为你js写在了id=”count“的输入框的前面,document.getElementById('count')返回是null   


    这是我复制的!

  • weibo_
    2016-07-16 10:14:27

    同问啊!

  • 慕姐9558663
    2016-07-15 12:16:03

    同问啊!

  • Demon丶Y
    2016-07-12 11:23:47

    http://img.mukewang.com/578462870001bf0205410431.jpg你在12行后面加个startCount();然后注释掉18行 试试   我这没有用

  • 慕粉3642568
    2016-07-12 11:04:32

    在script里面写startCount()肯定有用的,估计代码有问题,最好上截图