Boucle toutes les cinq secondes en Javascript

Je suis en train d'écrire une simple boucle en JS (JQuery) qui met à jour une image toutes les cinq secondes, pour un total de 15 secondes (donc trois boucles), et puis se ferme.

Il devrait aller comme ça:

  1. Attendre cinq secondes
  2. Exécuter
  3. Attendre cinq secondes
  4. Exécuter
  5. Attendre cinq secondes
  6. Exécuter
  7. Quitter

Mais setTimeout ne semble fonctionner.

Comme un test, j'ai essayé:

function doSetTimeout(i) {
  setTimeout(function() { alert(i); }, 5000);
}

for (var i = 1; i <= 5; ++i)
  doSetTimeout(i);

Ne fonctionne pas: http://jsfiddle.net/ubruksco/

J'ai aussi essayé:

for(var i = 1; i <= 5; i++) {
    (function(index) {
        setTimeout(function() { alert(index); }, 5000);
    })(i);
}

Ne fonctionne pas: http://jsfiddle.net/Ljr9fq88/

  • Vous êtes à la recherche pour setInterval(function(){...}, 5000); developer.mozilla.org/en-US/docs/Web/API/WindowTimers/... Vous pouvez la stocker intervalle dans une variable et de l'effacer après une certaine condition est remplie... dans votre cas, après la 5ème itération
  • var i = 1; i <= 5; i++ ne fera jamais de trois boucles
  • Il aussi de ne pas changer une image. Comme je l'ai dit, ce sont tout simplement de test des boucles.