Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

window.setInterval

Résumé

Appelle une fonction de manière répétée, avec un certain délai fixé entre chaque appel.

Syntaxe

intervalID = window.setInterval(fonction,delai[,param1,param2, ...]);
intervalID = window.setInterval(code,delai);

  • intervalID est un ID unique d'intervalle qui peut être passé à window.clearInterval()
  • fonction est la fonction qui doit être appelée de manière répétée.
  • code, dans la syntaxe alternative, est une chaîne représentant le code à exécuter de manière répétée.
  • delai est le nombre de millisecondes (millièmes de seconde) que setInterval() doit attendre avant chaque appel de fonction.

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

Exemples

var intervalID = window.setInterval(animation, 500);

L'exemple qui suit continuera à appeler la fonction flashtext() toutes les secondes, jusqu'à ce que intervalID soit réinitialisé en cliquant sur le bouton Stop.

<!DOCTYPE html>
<html>
<head>
<title>setInterval/clearInterval example</title>

<script>
var intervalID;

function changeCouleur() {
  intervalID = setInterval(flashText, 1000);
}

function flashText() {
  var elem = document.getElementById("ma_boite");

  if (elem.style.color == 'red') {
    elem.style.color = 'blue';
  } else {
    elem.style.color = 'red';
  }
}

function stopTextColor() {
  clearInterval(intervalID);
}
</script>
</head>

<body onload="changeCouleur();">
<div id="ma_boite">
<p>Salut tout le monde</p>
</div>
<button onclick="stopTextColor();">Stop</button>
</body>
</html>

Notes

La fonction setInterval() est habituellement utilisée pour définir un délai pour les fonctions qui sont exécutées indéfiniment, comme les animations.

La répétition peut être arrêtée à l'aide de window.clearInterval().

Si vous désirez que votre fonction ne soit appelée qu' une seule fois après le délai spécifié, utilisez window.setTimeout().

Le problème de « this »

Lorsque vous passez une méthode à setInterval() (ou toute autre fonction, d'ailleurs), elle sera invoquée avec une mauvaise valeur pour this. Ce problème est expliqué en détail 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

 Contributeurs à cette page : fscholz, teoli, khalid32, ethertank, Ceth, Lolo252, BenoitL, Mgjbot
 Dernière mise à jour par : khalid32,