如何每隔几秒钟执行一次动作?

时间:2011-08-02 09:10:44

标签: javascript

有人可以快速简单地向我解释如何使用

每隔几秒钟执行一次操作
var timeOut = setTimeout(FunctionName, 5000);

我想每5秒运行一次功能。

6 个答案:

答案 0 :(得分:23)

正如您要求使用setTimeout的方法:

function doStuff() {
   console.log("hello!");
   setTimeout(doStuff, 5000);
}
setTimeout(doStuff, 5000);

但使用setInterval

可能会更好
function doStuff() {
   console.log("hello!");
}
setInterval(doStuff, 5000);

答案 1 :(得分:2)

只需将setTimeout放在函数的末尾,调用自身 - 就像延迟的尾递归一样。

答案 2 :(得分:1)

使用setInterval

var timeOut = setInterval(nextNotice, 5000);

答案 3 :(得分:1)

var myFunction = function() { 
     //Do stuff
     AnotherFunction();
};

var timeOut = setInterval(myFunction, 2000);

答案 4 :(得分:1)

在下面的示例中,单击一个按钮时,输入字段将从0开始计算(永远)。

<html>
  <head>
    <script type="text/javascript">
      var c = 0;
      var t;
      var timer_is_on = false;

      function timedCount() {
        document.getElementById('txt').value = c;
        c = c + 1;
        t = setTimeout(timedCount, 1000);
      }

      function doTimer() {
        if (!timer_is_on) {
          timer_is_on = true;
          timedCount();
        }
      }
    </script>
  </head>
  <body>
    <form>
      <input type="button" value="Start count!" onclick="doTimer()">
      <input type="text" id="txt" />
    </form>
  </body>
</html>

答案 5 :(得分:1)

你可以这样做:

$(document).ready(function () 
        {
setTimeout(nextNotice, 5000);
}
function nextNotice()
{
// do stuff 
setTimeout(nextNotice, 5000);
}