Boucle et fonctions

[Résolu]
Signaler
Messages postés
37
Date d'inscription
lundi 4 juillet 2005
Statut
Membre
Dernière intervention
13 mars 2011
-
Messages postés
232
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
29 mars 2011
-
<hr size= "2" width="100%">
for (i=1; i<13; i++) {



this["btn"+i].onRollOver = function() {



this.anim.gotoAndStop(2);
loadMovie(i+".jpg", this._parent.clipPhotos);



};




}


<hr size="2" width="100%">

g compri ke ce KoD ne marchai pa a cause du i ki se retrouve a 13 lors de lappel de la
fonction mais j'en ai besoin pour definircette fonction, j'aimerai kil soi a
1 pour btn1
2 pour btn2
etc...
Donc comment faire pour kil prenne la valeur dans la variable i
LORS du parcours de cette boucle
et non
lors de l'appel de la fonction kan on va roll over :/


<hr size ="2" width="100%">

2 réponses

Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

C'est un problème assez récurrent que tu as, le problème est que c'est
la même variable que tu utilises dans plusieurs fonctions, donc il n'y
a qy'une valeur.



Deux solutions :

1.
Passer par une fonction-outil
prenant l'identifiant (i) comme paramètre : le paramètre est une
nouvelle variable dont la valeur ne vas pas changer.


function initBTN (i) {
this["btn"+i].onRollOver = function() {
this.anim.gotoAndStop(2);
loadMovie(i+".jpg", this._parent.clipPhotos);
};
}
for (i=1; i<13; i++) {
initBTN (i);
};


2.
Enregistrer la valeur de i dans chaque objet :




for (i =1; i<13; i++) {
this["btn"+i].i = i;
this["btn"+i].onRollOver = function() {
this.anim.gotoAndStop(2);
loadMovie(this.i+".jpg", this._parent.clipPhotos);
};
}





SuperDevy, c la !
Messages postés
232
Date d'inscription
mercredi 2 avril 2003
Statut
Membre
Dernière intervention
29 mars 2011

Ou tout simplement déclaré une nouvelle variable i en local :


for (var i=1; i<13; i++)