Bonjour à tous,
Je souhaiterais avoir vos avis sur deux petits bouts de code que j'ai réalisé :
Code :
- function decompte(temps,div_affichage)
- {
- document.getElementById(div_affichage).innerHTML=temps;
- temps = temps-1;
- setTimeout(function(){decompte(temps,div_affichage)}, 1000);
- }
|
Code :
- function decompte_2(temps,div_affichage)
- {
- temps_affiche = temps;
-
- taille = temps_affiche.length;
-
- temps_affiche = ( (temps_affiche.substring(taille-12,taille-9)) + "." + (temps_affiche.substring(taille-9,taille-6)) + "." + (temps_affiche.substring(taille-6,taille-3)) + "." + (temps_affiche.substring(taille-3,taille-0)) );
-
- document.getElementById(div_affichage).innerHTML = temps_affiche;
-
- temps = temps-1;
- setTimeout(function(){decompte_2(temps,div_affichage)}, 1000);
- }
|
Il s'agit d'un décompteur de secondes, relativement simple.
La première fonction marche impec, pas de soucis, si on lui mets 1 000 000 de secondes, tout décompte bien, la fonction se rappelle en enlevant une seconde à chaque... seconde.
Pour la seconde fonction, j'ai juste repris ce que j'avais fait pour la première, en voulant mettre un peu en forme l'affichage du décompteur en introduisant des points pour séparer les milliers des millions etc... sauf que dans cette seconde fonction, l'affichage est correct, mais il n'y a pas de rappel de la fonction et le compteur reste statique
J'ai essayé de ne modifier qu'une variable destinée à l'affichage (temps_affiche), donc je ne vois pas quelle peut être la différence qui fait qu'une fonction marche et non l'autre, qu'une se rappelle et non l'autre, d'autant plus que le premiers affichage est correct pour la seconde
Merci pour votre aide et vos commentaires
Message édité par Toscanno le 16-02-2011 à 10:43:39