J'ai écrit ce code pour changer une image:Comment différer ce code en JavaScript?
change = function(){
for (r=0; r<6; r++){
for (i = 0; i < 6 ; i++) {
setInterval(imgfile(number=i+1), 5000);
}
}
}
imgfile= function(number){
a = 'document.getElementById("imgdiv").src = "images/'+number+'.svg"';
eval(a);
}
La fonction change()
est appelée lorsqu'un bouton est cliqué. Lorsque j'appuie sur le bouton, l'image passe directement à 6.svg, quand je veux qu'elle passe par les images 1, 2, 3, 4, 5, 6 et qu'elle répète 6 fois. Lorsque je change setInterval
en change.setInterval
ou imgfile.setInterval
cela ne fonctionne pas du tout. Comment puis-je réparer ça?
Pourquoi 'eval()'? O.o – Andreas
La seule règle de 'eval': n'utilisez pas eval, car eval est le mal. – Frxstrem
Vous devez bloquer la portée de votre variable 'i' avec le mot clé' let' ou l'insérer dans une fermeture! –