【问题标题】:setTimeout is working only once. Why? [duplicate]setTimeout 只工作一次。为什么? [复制]
【发布时间】:2016-06-19 23:20:40
【问题描述】:
    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="utf-8">
        <title></title>    
        <script>
         function move(){
  var i =10;
  var demo = document.getElementById('demo3');
  demo.innerHTML = i;

  function run(){
    demo.innerHTML = ++i ;
  }
  var id = setTimeout(run,1000);
}

        </script>
      </head>
      <body>
         <div class="main-content">
             <div class="micro"><p id="demo3"></p></div>
             <input type="button" class="btn" id="start" onclick="move()" name="name" value="Start">
         </div>
      </body>
    </html>

我的代码不能正常工作。它应该不断增加 i 的值,但它只会在一次之后停止。请帮忙。

【问题讨论】:

  • 在提出可以通过网络搜索轻松解决的问题之前,请先进行基础研究

标签: javascript jquery html


【解决方案1】:

因为 setTimeout 不是您需要的方法,实际上它在指定的日期后执行一次代码 sn-p,setInterval 可能会为您的任务做: https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval

【讨论】:

    【解决方案2】:

    将 setTimeout 更改为 setInterval,它应该可以工作。

    【讨论】:

      【解决方案3】:

      这里是Fiddle Demo

      setTimeout 运行代码一次。您想使用 setInterval 方法重复运行代码。

      【讨论】:

      • 请将外部托管代码编辑到帖子中;这样做将确保即使链接断开,它仍然有用。我的脚本 is not allowed to do this 因为潜在的许可问题。
      猜你喜欢
      • 1970-01-01
      • 2012-03-09
      • 2011-04-07
      • 1970-01-01
      • 1970-01-01
      • 2012-09-21
      • 2019-10-08
      • 1970-01-01
      • 2017-05-29
      相关资源
      最近更新 更多