English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Méthode Window setTimeout()

Objet Window JavaScript

setTimeout()méthode pour configurer un minuterie qui appelle la fonction ou exécute un segment de code une fois le minuterie expirée.

Cette méthode retourne un identifiant unique de l'horloge de délai, donc vous pouvez appelerclearTimeout()pour le supprimer.

UtilisezclearTimeout()méthode pour empêcher la fonction de s'exécuter.

Cette fonction ne s'exécute qu'une seule fois. Si vous avez besoin de l'exécuter en répétition, veuillez utilisersetInterval()Méthode.

Syntaxe :

window.setTimeout(function, delay, param1, param2, ...)
setTimeout(function() { alert("Hello World"); }, 2000);
Voyons voir‹/›

Compatibilité du navigateur

Les nombres dans le tableau indiquent la première version du navigateur qui prend en charge pleinement la méthode setTimeout() :

方法
setTimeout()11414

参数值

参数描述
function(必需)计时器到期后要执行的函数
delay(必需)计时器应等待的时间(以毫秒为单位)(1000毫秒= 1秒),然后执行指定的函数或代码。如果省略,则使用值0
param1, param2, ...(可选)传递给该函数(function)的其他参数 (IE9和更早版本中不支持)

技术细节

返回值:一个数字,表示设置的计时器的超时ID值。将此值与clearTimeout()方法一起使用可取消计时器

更多实例

此示例引用外部“命名”函数:

var timeoutID;
function myFunc() {
  timeoutID = setTimeout(myCallback, 2000);
}
function myCallback() {
  alert("Hello World");
}
Voyons voir‹/›

使用clearTimeout()阻止函数运行:

var timeoutID;
function myFunc() {
  timeoutID = setTimeout(myCallback, 2000);
}
function myCallback() {
  alert("Hello World");
}
function myStopFunc() {
   clearTimeout(timeoutID);
}
Voyons voir‹/›

使用递归显示当前时间(就像数字手表一样,每1每秒钟执行一次“ startTimer()”函数):

window.addEventListener("load", startTimer);
function startTimer() {
   var date = new Date();
   var x = document.getElementById("result");
   x.innerHTML = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
   setTimeout(startTimer, 1000);   // Recursion 
}
Voyons voir‹/›

使用setTimeout()创建动态进度条:

var i = 0;
var bar = document.getElementById("progress",-bar);
var t;
function start() {
  if(i < 100) {
 i++;
 bar.style.width = i + "%";
 bar.innerHTML = i + " % ";
 t = setTimeout(start, 60);  // Recursion
  }
}
function stop() {
  clearTimeout(t);
}
Voyons voir‹/›

Cliquez sur le bouton "Commencer le comptage" pour démarrer le chronomètre. Cliquez sur le bouton "Arrêter le comptage" pour arrêter le chronomètre :

0
Voyons voir

Passer des paramètres à la fonction myFunc (dans IE9et ne fonctionne pas dans les versions antérieures) :

var timeoutID = setTimeout(myFunc, 2000, "First", "Second", "Third");
Voyons voir‹/›

Mais, si vous utilisez une fonction anonyme, elle fonctionnera sur tous les navigateurs :

var timeoutID = setTimeout(function(){ myFunc("First", "Second", "Third"),} 2000);
Voyons voir‹/›

Références associées

Référence Fenêtre (Window) :Méthode clearTimeout()

Référence Fenêtre (Window) :Méthode setInterval()

Référence Fenêtre (Window) :Méthode clearInterval()

Objet Window JavaScript