Page 1 sur 1

animation d un div pour un sondage

Posté : 16 juil. 2007, 12:10
par Invité
bonjour a tous

j ai un petit probleme pour initialiser mon script /

Code : Tout sélectionner

<script type="text/javascript"> <!-- var i = 0; animSondage = function(rep,valrep) { if (i <= valrep) { $('valdiv').innerHTML=parseInt(i/3)+"%"; $(rep).style.width=i+'%'; var z=0; while (z<=100) z++; setTimeout('animSondage();', 40); i++; } } --> </script> <div id="repsondage"> <div id="Rep1" style="height:7px;background-color:#d5e6af;"></div> <div id="valdiv"></div> </div> <script type="text/javascript"> $('Rep1').innerHTML=""; animSondage('Rep1','18'); </script>>
inpossible de passer les valeur 'Rep1' et '18' au script (valeur not defined) si je passe les valeur en direct ca fonctionne. Le problem vient surement de setimeout.!?
merci pour votre aide, :D

Posté : 16 juil. 2007, 14:56
par @rthur
Bonjour,

Tu as bien vérifié que tu avais inclus ton framework javascript pour le prototypage de la fonction dollar?

As-tu essayé de mettre 18 sans guillemet, car vu que tu fais une comparaison numérique dessus, il me semble + logique de ne pas mettre de guillemet...

Posté : 16 juil. 2007, 15:19
par Invité
merci pour l aide

par contre prototype est bien en place , pas de pb de ce cote la
pour les guillemets, ca ne change rien...

le probleme vient forcement du setTimeout('animSondage();)


si je lui passe les var : setTimeout('animSondage(rep,valrep);)
le resulat est not defined

en controlant les $
je fais un

Code : Tout sélectionner

$(rep).innerHTML='plop';// ou un $(rep).style.width=valrep;
a la place de

Code : Tout sélectionner

$(rep).style.width=i+'%';
plop s affiche bien sur le div,( width est bien egal valrep)
les arguments passe correctement

donc le setTimeout perd les valeurs en se bouclant ....

et la :?: aucune idee pour le resoudre

j ai essaye de mettre les arguments en var global sans succes

si t as une idee :?: :D

Posté : 16 juil. 2007, 15:34
par Invité
ok je viens de trouver

enfin pas moi google comme d hab

Code : Tout sélectionner

<script type="text/javascript"> <!-- var i = 0; animSondage = function(rep,valrep) { if (i <= valrep) { $('valrepp').innerHTML=parseInt(i/3)+"%"; $(rep).style.width=i+'%'; var z=0; while (z<=100) z++; setTimeout(function() {animSondage(rep,valrep);}, 40); i++; } } --> </script>
tout est sur ce post
en gros je cite :
"Une fonction anonyme hérite de la portée dans laquelle elle est créée"
http://forum.alsacreations.com/topic-5- ... meout.html
merci :lol:
:D