JavaScript TIMER

Fermé
AG's - 2 août 2009 à 19:23
 AG's - 2 août 2009 à 21:00
Bonjour,
je veux fabriquer une petite appli qui contient un timer :
voilà la fonction du timer :

function chrono()
{
var timer=setTimeout("chrono()", 1000);
document.lechrono.champ_temps.value = temps;
if(temps > 0)
{
temps = temps - 1;
}
else
{
clearTimeout(timer);
}
}
Comme on peut le voir, le décompte s'arrête lorsque le temps est à zero.
Cette fonction est appelée par une autre fonction (appelée elle lors du clcik sur un bouton) .
PROBLEME : Si j'apelle cette fonction chrono() (en recliquant sur le bouton) AVANT le clearTimeout, un nouveau timer est créé et les deux fonctionnent en même temps, ce qui fait défiler mon compteur deux fois plus vite.

J'ai essayé if(timer){supprimer timer}
au debut de la fonction qui apelle chrono() mais ça me dit que timer n'existe pas.

J'ai essayé if (typeof(timer) != 'undefined') ça marchait pas non plus.

HELP !!!
Merci à tous
A voir également:

1 réponse

J'ai trouvé, si certains avaient le même pb que moi :
Dans la fonction qui apelle la fct chrono(), juste avant elle apelle la fct stopchrono() que voici :

function stopchrono()
{
if(typeof(timer))
{
clearTimeout(timer);
}
}
1