开发者

How to perform an action every couple of seconds?

Can someone quick开发者_开发技巧ly and simply explain to me how to perform an action every couple of seconds using

var timeOut = setTimeout(FunctionName, 5000);

I want to run a function every 5 seconds.


As you asked for a method using setTimeout:

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

But it would probably be better to use setInterval:

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


Just put setTimeout at the end inside your function, with a call to itself - like a delayed tail-recursion.


Use setInterval:

var timeOut = setInterval(nextNotice, 5000);


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

var timeOut = setInterval(myFunction, 2000);


you can do something like:

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


In the example below, when a button is clicked, the input field will start to count (for ever), starting at 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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜