Page 1 sur 1

inverser le resultat d une boucle

Posté : 23 janv. 2008, 02:50
par Invité
bonsoir

un probleme de boucle
en gros,

j ai une fonction qui me permet de faire disparaitre chaque element un a un. celle ci fonctionne correctement.

Code : Tout sélectionner

<div id="Rep" style="200px;overflow:hidden"> <div></div> <div> </div> <div></div> <div> </div> .... </div>
par contre j ai un probleme pour faire un reverse sur la deuxieme fonction
imaginons qu on veuille faire disparaitre les trois premiers

on accede apres a la deuxieme mais elle ne fait apparaitre les elements QUE dans l ordre des elements affichés.
j aurai voulu faire apparaitre en premier les elements par le dernier element disparu.
une sorte d effet d escalier.... :roll:

Code : Tout sélectionner

//ma premiere fonction : function next() { var acc = $('Rep'); var pan = acc.getElementsByTagName('div'); for (i = 0; i < pan.length; i++) { var test = new Effect.Shrink(pan[i],{delay:i,duration:1}); } } //ma deuxieme fonction : function previous() { var acc = $('Rep'); var pan = acc.getElementsByTagName('div'); for (i = 0; i < pan.length; i++) { var test = new Effect.Appear(pan[i],{delay:i,duration:1}); } }
au niveau de la clarete peut mieux faire......
:?:

Posté : 23 janv. 2008, 08:41
par Nagol
tente voir avec quelque chose comme ça:

for(i=pan.length; i>0; i--) {

var test = new Effect.Appear(pan[i],{delay:i,duration:1});

}

Posté : 23 janv. 2008, 12:44
par Invité
mmm
peut importe l ordre de la boucle , l ordre de reapparition se fait par le 1er element

pan etant un objet , il faudrait soit l indexer ou le transformer en array....
bon c est pas gagne ca .... :D