Accueil    Javascript    Fonction setInterval
 



Javascript : Fonction setInterval  Javascript : Fonction setInterval

Index Javascript


Les fonctions setTimeout() et setInterval() permettent d'effectuer des appels vers une fonction ou un bloc de code javascript après un délai spécifique paramétrable exprimé en millisecondes.


var MonInterval = setInterval("Fonction / Expression", Delai );

window.clearInterval(MonInterval);

Ces deux méthodes sont légèrement différentes :
- La méthode setInterval une fois déclarée appelle en boucle la fonction après chaque intervalle de temps(adapté à des fonctions d'affichage des heures par exemples).
- La méthode setTimeout appelle la fonction une seule fois après l'intervalle de temps écoulé. Pour effectuer un appel en boucle, il est nécessaire de rappeler la fonction setTimeout à la fin de la fonction qui est appelée.

D'autre part lorsque plusieurs fonctions setTimeout() ou setInterval() sont appelées, l'appel à la fonction clearTimeout() ou clearInterval() provoquera l'arrêt du dernier timeout ou interval déclaré (même si la référence est différente).


Actualisation de l'heure avec la fonction setInterval :

<div id="divHeure"> </div>

<script type="text/javascript">
//<![CDATA[

function AffichageHeure(){
   var exempleDate = new Date();
   var exempleHeure = exempleDate.toLocaleTimeString();
   document.getElementById('divEcriture').innerHTML = exempleHeure;
}
var exempleInterval = setInterval("AffichageHeure()", 2000);

//]]>
</script>


Rendu de l'exemple :




Ecriture dans un élément div par la fonction appelée par setInterval (avec un arrêt après 10 passages) :

<div id="divEcriture" style="border:solid 1px black;"> </div>

<script type="text/javascript">
//<![CDATA[

var compteur = 0;
function EcritureLigne(){
   compteur += 1;
   document.getElementById('divEcriture').innerHTML += "Ligne - " + compteur;
   if(compteur >= 10){
      window.clearInterval(exempleInterval);
   }
}
var exempleInterval = setInterval("EcritureLigne()", 2000);

//]]>
</script>


Rendu de l'exemple :