mozilla
Vos résultats de recherche

    window.setTimeout

    Résumé

    Exécute un morceau de code ou une fonction après un délai determiné.

    Syntaxe

    timeoutID = window.setTimeout(fnct, delai[, param1, param2, ...]);
    timeoutID = window.setTimeout(code, delai);
    

    • timeoutID est l'identificateur numerique du timeout, qui peut être utilisé avec window.clearTimeout.
    • fnct est la fonction que vous désirez exécuter après delai millisecondes.
    • code est, dans la syntaxe alternative, une chaîne contenant le code à exécuter après delai millisecondes. (L'utilisation de cette syntaxe n'est pas recommandée pour les mêmes raisons que l'utilisation d'eval()).
    • delai est le nombre de millisecondes (millièmes de seconde) après lequel la fonction doit être appelée. Le délai réel peut s'avérer plus long (cf. doc en anglais).

    Notez que le passage de paramètres supplémentaires à la fonction dans la première syntaxe ne fonctionne pas dans Internet Explorer < 9.

    Exemples

     

    L'exemple suivant met en place deux boutons sur une page web et associe chacun d'entre eux aux routines setTimeout et clearTimeout. Appuyer sur le premier bouton définit un timeout (délai d'execution) qui appelle une boite de dialogue après deux secondes et enregistre l'id du timeout afin que celui-ci puisse être invoqué par le clearTimeout (annulation du délai d'execution). Il vous est donc possible d'annuler ce délai en appuyant sur le second bouton.

    HTML

    <p>Live Example</p>
    <button onclick="delayedAlert();">Show an alert box after two seconds</button>
    <p></p>
    <button onclick="clearAlert();">Cancel alert before it happens</button>

     

    JavaScript

    var timeoutID;
    
    function delayedAlert() {
      timeoutID = window.setTimeout(slowAlert, 2000);
    }
    
    function slowAlert() {
      alert("That was really slow!");
    }
    
    function clearAlert() {
      window.clearTimeout(timeoutID);
    }

    Autres exemples

    function generateOutput(aConcise) {
      if(aConcise)
        parent.generateConciseOutput();
      else
        parent.generateOutput();
    }
    window.setTimeout(generateOutput, 1000, true);
    // Compatibilité accrue grâce aux fonctions anonymes
    window.setTimeout(function() {
      generateOutput(true);
    }, 1000);
    
    window.setTimeout('window.parent.generateOutput()', 1000);
    
    

    Consultez également l'exemple de clearTimeout().

     

    Notes

    Il est possible d'annuler le déclenchement de la fonction à l'aide de window.clearTimeout().

    Si vous désirez que la fonction soit appelée de manière répétée (c'est-à-dire toutes les N millisecondes), utilisez plutôt window.setInterval().

    Le problème de « this »

    Lorsqu'une méthode est passée à setTimeout() (ou n'importe quelle fonction, d'ailleurs), elle sera invoquée avec une mauvaise valeur pour this. Ce problème est expliqué en détails dans la référence JavaScript.

    Spécification

    DOM Level 0. Ne fait partie d'aucune spécification.

    Étiquettes et contributeurs liés au document

    Contributors to this page: fscholz, teoli, jsx, BenoitL, Mgjbot, Ceth, Tiller, Automatik, zanz
    Dernière mise à jour par : jsx,