1. Un timer qui ne s'exécute qu'une seule fois
Copiez le code comme suit :
<script>
//La minuterie s'exécute de manière asynchrone
fonction bonjour(){
alerte("bonjour");
}
//Exécuter la méthode en utilisant le nom de la méthode
var t1 = window.setTimeout(bonjour,1000);
var t2 = window.setTimeout("hello()",3000);//Utiliser la méthode d'exécution de chaîne
window.clearTimeout(t1);//Supprimer le minuteur
</script>
2. Minuterie d'exécution répétée
Copiez le code comme suit :
<script>
fonction bonjour(){
alerte("bonjour");
}
// Répète une méthode
var t1 = window.setInterval(bonjour,1000);
var t2 = window.setInterval("bonjour()",3000);
//Comment supprimer la minuterie
window.clearInterval(t1);
</script>
Remarque:
S'il existe deux méthodes sur une page, qui sont toutes deux exécutées après le chargement de la page, mais qui ne peuvent en réalité pas être exécutées dans l'ordre, vous pouvez vous référer aux méthodes suivantes pour résoudre le problème :
Vous pouvez ajouter une minuterie dans la méthode onload, définir une minuterie et la « retarder » pendant un certain temps avant de l'exécuter. Cela peut être pris en compte pour distinguer l'ordre de chargement des pages et des méthodes d'exécution.
En JavaScript, il existe deux fonctions dédiées aux timers, à savoir :
1. Compte à rebours : timename=setTimeout("function();",delaytime);
2. Minuterie de boucle : timename=setInterval("function();",delaytime);
Le premier paramètre "function()" est l'action à exécuter lorsque le timer est déclenché. Il peut s'agir d'une fonction ou de plusieurs fonctions. Les fonctions peuvent être séparées par ";". Par exemple, si vous souhaitez afficher deux fenêtres d'avertissement, vous pouvez remplacer "function();"
"alert('Première fenêtre d'avertissement !');alert('Deuxième fenêtre d'avertissement !');"; et le deuxième paramètre "delaytime" est le temps d'intervalle en millisecondes, c'est-à-dire que remplir "5000" signifie 5 secondes.
Le compte à rebours déclenche un événement une fois le temps spécifié atteint, tandis que le minuteur en boucle déclenche l'événement à plusieurs reprises lorsque l'intervalle de temps arrive. La différence entre les deux est que le premier n'agit qu'une seule fois, tandis que le second agit en continu.
Par exemple, après avoir ouvert une page et souhaité passer automatiquement à une autre page toutes les quelques secondes, vous devez utiliser le compte à rebours "setTimeout("function();",delaytime)", et si vous souhaitez définir une certaine phrase apparaissent un à un,
Vous devez utiliser le minuteur de boucle "setInterval("function();",delaytime)".
Pour obtenir le focus du formulaire, document.activeElement.id est utilisé. Utilisez if pour déterminer si document.activeElement.id et l'ID du formulaire sont identiques.
Par exemple : if ("mid" == document.activeElement.id) {alert();}, "mid" est l'ID correspondant au formulaire.
Minuteur:
Utilisé pour spécifier un programme à exécuter après une période de temps spécifique.
Exécution du timing dans JS, la différence entre setTimeout et setInterval et la méthode d'annulation
setTimeout(Expression,DelayTime), après DelayTime, une expression sera exécutée setTimeout est utilisée pour retarder un certain temps avant d'effectuer une opération.
setTimeout("function",time) définit un objet timeout
setInterval(expression, delayTime), chaque DelayTime exécutera Expression Il peut souvent être utilisé pour actualiser les expressions.
setInterval("function",time) définit un objet timeout
SetInterval se répète automatiquement et setTimeout ne se répète pas.
clearTimeout (object) efface l'objet setTimeout défini
clearInterval(object) efface l'objet setInterval
Donnez simplement deux exemples.
Exemple 1. Lorsque le formulaire est déclenché ou chargé, la chaîne est affichée textuellement.
Copiez le code comme suit :
<html>
<tête>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Document sans titre</title>
<langage de script="JavaScript" type="text/javascript">
var str = "Ceci est un exemple de texte à tester";
var séquence = 0 ;
var seconde=1000; //Temps d'intervalle 1 seconde
fonction défilement() {
msg = str.substring(0, seq+1);
document.getElementByIdx_x_x('word').innerHTML = msg;
séquence++ ;
si (seq >= str.length) seq = 0 ;
}
</script>
</tête>
<body onload="setInterval('scroll()',second)">
<div id="word"></div><br/><br/>
</corps>
</html>
Exemple 2. Lorsque le focus est sur la zone de saisie, vérifiez régulièrement les informations de la zone de saisie et n'effectuez pas l'action de vérification lorsque le focus n'est pas activé.
Copiez le code comme suit :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<tête>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Document sans titre</title>
<langage de script="JavaScript" type="text/javascript">
var seconde=5000; //Temps d'intervalle 5 secondes
var c = 0 ;
fonction défilement() {
c++ ;
if ("b" == document.activeElement.id) {
var str="Vérification programmée<b> "+c+" </b>heure<br/>";
if(document.getElementByIdx_x_x('b').value!=""){
str+="Le contenu actuel de la zone de saisie est<br/><b> "+document.getElementByIdx_x_x('b').value+"</b>";
}
document.getElementByIdx_x_x('word').innerHTML = str;
}
}
</script>
</tête>
<corps>
<textarea id="b" name="b" style="hauteur:100px; largeur:300px;" onfocus="setInterval('scroll()',second)"></textarea><br/><br/ >
<div id="word"></div><br/><br/>
</corps>
</html>
Exemple 3. L'exemple suivant est l'exemple le plus simple. Une fenêtre d'avertissement apparaît après l'expiration du délai.
Copiez le code comme suit :
<html xmlns="http://www.w3.org/1999/xhtml">
<tête>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<langage de script="javascript">
fonction compte() {
document.getElementByIdx_x_x('m').innerHTML="Le minuteur a démarré !";
setTimeout("alert('Dix secondes plus tard !')",10000)
}
</script>
<corps>
<div id="m"></div>
<input TYPE="button" value="Le minuteur démarre" onclick="count()">
</corps>
</html>
Exemple 4 : saut dans le temps du compte à rebours
Copiez le code comme suit :
<html>
<tête>
<base href="<%=basePath%>">
<title>Page de démarrage de ma JSP 'ds04.jsp'</title>
<span id="tiao">3</span>
<a href="javascript:countDown"> </a> Sauter automatiquement après quelques secondes...
<meta http-equiv=refresh content=3;url= '/ds02.jsp'/>
<!--Le script démarre-->
<langage de script="javascript" type="">
fonction compte à rebours (secs){
tiao.innerText=secs;
si(--secs>0)
setTimeout("countDown("+secs+")",1000);
}
compte à rebours(3);
</script>
<!--Fin du script-->
</tête>
Exemple 6 :
Copiez le code comme suit :
<tête>
<méta http-equiv="refresh" content="2;url='b.html'">
</tête>
Exemple 7 :
Copiez le code comme suit :
<langage de script="javascript" type="text/javascript">
setTimeout("window.location.href='b.html'", 2000);
//Les deux éléments suivants peuvent être utilisés
//setTimeout("javascript:location.href='b.html'", 2000);
//setTimeout("window.location='b.html'", 2000);
</script>
Exemple 8 :
Copiez le code comme suit :
<span id="totalSecond">2</span>
<langage de script="javascript" type="text/javascript">
var seconde = document.getElementByIdx_x('totalSecond').innerHTML;
si (estNaN (seconde)) {
//...pas une méthode de traitement numérique
}autre{
setInterval(fonction(){
document.getElementByIdx_x('totalSecond').innerHTML = --second;
si (seconde <= 0) {
window.location = 'b.html';
}
}, 1000);
}
</script>