问题
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.
回答1:
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);
});
回答2:
Every x seconds can be done with setInterval
:
$(document).ready(function(){
setInterval(function(){
shiftLeft(); showProducts();
}, 5000);
});
回答3:
$(document).ready(function(){
setTimeout(function(){
shiftLeft(); showProducts();
}, 5000);
});
来源:https://stackoverflow.com/questions/13268385/javascript-settimeout-function-repeat