setInterval with loop time

bingjie2680 picture bingjie2680 · Dec 7, 2011 · Viewed 75k times · Source
setInterval(function(){}, 200)

this code run the function each 200 miliseconds, how do I do it if I only want the function to be ran 10 times.

thanks for help.

Answer

karim79 picture karim79 · Dec 7, 2011

Use a counter which increments each time the callback gets executed, and when it reaches your desired number of executions, use clearInterval() to kill the timer:

var counter = 0;
var i = setInterval(function(){
    // do your thing

    counter++;
    if(counter === 10) {
        clearInterval(i);
    }
}, 200);