Afficher les éléments d'un tableau avec innerHTML
dev_82
Messages postés
49
Statut
Membre
-
dev_82 Messages postés 49 Statut Membre -
dev_82 Messages postés 49 Statut Membre -
Bonjour à tous,
je souhaite comme précisé dans le titre, afficher les éléments d'un tableau un par un avec la méthode innerHTML mais cela n'affiche rien. Or, lorsque j'utilise la méthode alert(), cela m'affiche comme je le souhaite chaque élément dans des pop-up et lorsque je fais un document.write(), cela m'affiche tous les éléments du tableau.
Ainsi, je voudrais savoir comment faire pour afficher chaque élément avec innerHTML et je parcours le tableau avec une boucle forEach.
Par exemple, array[0] s'affiche puis 1 seconde après array[1] à la place puis ainsi de suite...
Merci d'avance pour vos réponses.
Voici le code.
je souhaite comme précisé dans le titre, afficher les éléments d'un tableau un par un avec la méthode innerHTML mais cela n'affiche rien. Or, lorsque j'utilise la méthode alert(), cela m'affiche comme je le souhaite chaque élément dans des pop-up et lorsque je fais un document.write(), cela m'affiche tous les éléments du tableau.
Ainsi, je voudrais savoir comment faire pour afficher chaque élément avec innerHTML et je parcours le tableau avec une boucle forEach.
Par exemple, array[0] s'affiche puis 1 seconde après array[1] à la place puis ainsi de suite...
Merci d'avance pour vos réponses.
Voici le code.
function affiche() {
document.getElementById("demo").innerHTML += angle2;
var counter = document.getElementById("demo").innerHTML.split('/');
counter.forEach(function (item) {
//alert(item);
//document.getElementById("demo1").innerHTML = item;
});
}
setInterval(affiche, 1000);
2 réponses
-
Bonjour,
Déjà, tu veux afficher chaque élément de ta boucle ( donc à chaque tour du foreach) UN élément (et un seul) dans ton html ?
Dans ce cas c'est biendocument.getElementById("demo1").innerHTML = item;
qu'il faut utiliser,
mais si tu veux temporiser... il faut que tu le places dans un setTimeout
Attention par contre,
Vu que tu lances ta fonction avec unsetInterval(affiche, 1000);
;
Ta fonction est relancée toutes les secondes... tu ne pourras donc pas traiter ta boucle...
-
Bonjour,
Merci de ta réponse.
En fait, je cherche à afficher le 1er élément du tableau puis le 2e puis le 3e etc, le suivant vient à la place du précédent.
Et je n'ai pas compris pourquoi je devrais temporiser avec setTimeout.
merci.-
Et je n'ai pas compris pourquoi je devrais temporiser avec setTimeout.
Par ce que sans ça... ton script aura fini de traiter ta boucle avant même de voir le changement....- Ah d'accord et c'est donc pour cela que rien ne s'affiche car il y tellement de changement en 1s dans la div demo1 que l'on voit rien dans celle-ci ?
Du coup, setTimeout prend une fonction en 1er argument mais quelle serait la fonction car le contenu de cette fonction est déjà utilisé dans le forEach.
-