Tutoriel Javascript : la function setTimeout()
La fonction setTimeout permet de programmer un
« minuteur » afin de retarder une action.
Il s’agit de faire attendre le visiteur x
secondes avant de déclencher quelque chose
sur la page web.
Exemple :
<html>
<head>
<title>Essai settimeout</title>
<SCRIPT LANGUAGE="Javascript">
<!--
function start(){
alert('Vous êtes ici - Merci');
}
// -->
</SCRIPT>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
comp=(setTimeout("start()",10000));
//-->
</script>
</body>
</html>
Dans l’exemple ci-dessus, lorsque la page
est entièrement chargée depuis le
serveur, on fait attendre 10 secondes (10000 millisecondes
= 10 secondes) au visiteur avant d’appeler
la fonction définie start() – qui ne
fait juste qu’afficher une boîte de
dialogue contenant le message « Vous êtes
ici – Merci ».
En quoi cela peut être utile ? par exemple
pour créer des pages animées où
une action précise se déroule après
un certain laps de temps, bref, à vous de
faire travailler votre imagination !
La fonction clearTimeout() élimine la minuterie.
Dans l’exemple ci-dessus, un appel à
clearTimeout(comp) avant l’écoulement
des 10 secondes aura pour effet de stopper la minuterie
(donc la fonction start() ne sera plus exécutée
après le laps de temps défini).
Il est important de préciser que cela ne
peut pas être utilisé si vous essayer
de « temporiser » des instructions PHP
! En effet, les instructions PHP sont « pré-executées
» (c’est-à-dire qu’elles
sont déjà terminées avant même
le chargement de la page web dans le navigateur
de l’internaute).
Les instructions PHP sont aussi exécutées
du côté du serveur (server-side) tandis
que le javascript est exécuté du côté
« client » (client-side) – ou
plus clairement, sur la machine de l’internaute.
Les instructions javascript contenues dans une page
web sont donc chargées sur le navigateur
et exécutées lors de l’affichage
de la page, tandis que les instructions PHP ont
été exécutées bien avant
et que seuls les résultats arrivent dans
le navigateur de l’internaute.
|