Boucle setTimeout Javascript

Fermé
Tansushi - 1 sept. 2009 à 17:01
 Tansushi - 5 sept. 2009 à 18:47
Salut à tous,

Voila la situation :
- J'ai un tableau contenant les données d'entrée du script (var onreturn = ["content1","content2","content3"]).
- Je passe chacune des valeurs du tableau dans une boucle pour effectuer un setTimeout() sur une fonction avec la valeur actuelle du tableau comme argument.
- A chaque tour de boucle, j'incrémente le temps du setTimeout() de 10000 car cette fonction n'arrête pas l'execution du code...
- Une fois le setTimeout() écoulé, il exécute la fonction citée ci-dessus pour afficher la valeur de l'argument dans un alert().

Le problème est que cela affiche 3 fois "content3" alors que je voudrais qu'il affiche "content1", "content2" et "content3" à intervalle régulier. (je précise que l'intervalle fonctionne parfaitement)

Le code en lui même :

var onreturn = ["content1","content2","content3"];
var tosend;
var timing = 0;

for (tosend in onreturn){
	setTimeout(function() {released(onreturn[tosend]);}, timing);
	timing = timing + 10000;
}

function released(recu) {
	alert(recu);
}

2 réponses

up
-1
pas de réponse ?
-1