on arme un timer, qui lance une fonction de callback action,
la variable est globale au js, donc chaque fonction appelee la prend dans l'etat ou la laisse la derniere dereferenciation, et la modifie.

on execute action() qui incremete etat
et on rearme le timer , au bout du temps surcoucheaction() est execute, et il appel action qui prend la valeur d'etat et l'incremente ....

ensuite on rearme le timer.

le contexte dans lequel sont appeles tous les callbacks sont les memes.
on peut aussi passer

sinon sans global:
var mondiv=document.getElementById('toto');
function action(etat)
{

 mondiv.innerHTML="<p> etat courant="+etat+"</p>";
 //arreteson(etat);
 etat+=1;
 //demarreson(etat);
}

function surcoucheAction(etat){
  action(etat);
 etat+=1;
 setTimeout("surcoucheAction("+etat+")", delai);
}
surcoucheAction(0);
</script>

donc sans variable globale, on arme le timer pour qu'il appel surcoucheAction(1);
quand le timer pop, il execute donc action(1) incremente etat
et arme le timer pour qu'il execute surcoucheAction(2) ......
....

Le 25/02/2011 10:04, Daniel Cartron a écrit :
Le lundi 21 février 2011, Laurent a écrit :
je pense qu'il veut dire que dans action() on utilise un compteur global
de sequencement

effectivement ça marche super bien, mais je peine à comprendre pourquoi :-)

Merci


_________________________________
Linux mailing list
Linux@lists.parinux.org
http://lists.parinux.org/mailman/listinfo/linux

Répondre à