Voici le code :

<!DOCTYPE html>
<html>
<head>
    <title>Prêt? Partez!</title>
    <meta charset="utf-8"/>
<script type="text/javascript">

var attente;
function minutageGo(){
    var nombre_qui_change = window.document.formulaire.minuteur.value;
    nombre_qui_change = parseInt(nombre_qui_change) + 1;
    window.document.formulaire.minuteur.value = nombre_qui_change;

    attente = setTimeout("minutageGo()", 1000);
}
</script>
</head>

<body>

<form name="formulaire">
<input type="text" name="minuteur" value= 0><br>
<input type="button" value="Démarrez!" onClick="minutageGo();">
<input type="button" value="Arrêter" onClick="clearTimeout(attente)">
</form>
</body>
</html>

Je ne comprends pas, pourquoi on est obligé de mettre la fonction setTimeout dans une variable, pour l'arrêter avec clearTimeout après ...

J'ai essayé de tout simplement écrire clearTimeout('minutageGo()')
dans le script et cela ne fonctionne pas.

Un peu plus d'éclaircissement sur les fonction setTimeout et clearTimeout serait bien, je lis un livre mais je ne sais pas trop ce concet ...

6 réponses


Grafikart
Réponse acceptée

C'est comme ça il n'y a pas le choix. clearTimeout prend en paramètre un handle qui correspond à ce qu'à retourner setTimeout();

La doc est super claire, jvois pas quoi ajouter de plus.

Merci pour vos réponses

@Lens Durandisse, résolue ?

Ah oui, depuis un moment déja.