Javascript setTimeout function repeat

javascript, settimeout

Solution

Use `setInterval()` instead of `setTimeout()`, if you want your function to be executed repeatedly. `setTimeout()` delays the execution of your function for x seconds, while `setInterval()` executes your function every x seconds.

Both within the boundaries of the event queue of JavaScript, so don't be too confident, that you functions get executed at the exact time you specified

$(document).ready(function(){    
    setInterval( function(){ shiftLeft(); showProducts(); }, 5000);    
}); 

Problem

Is there a way to repeat a function in Javascript using the setTimeout function? For example, I need two functions to be called every five seconds. I have something like this: ``` $(document).ready(function(){ setTimeout('shiftLeft(); showProducts();', 5000); }); ``` but it only happens once, five seconds after page loads, and I need it to happen every five seconds.

Original source