Window setTimeout() 方法

JavaScript Window 對(duì)象

setTimeout()方法設(shè)置一個(gè)計(jì)時(shí)器,一旦計(jì)時(shí)器到期,該計(jì)時(shí)器將調(diào)用函數(shù)或執(zhí)行代碼段。

該方法返回一個(gè)唯一標(biāo)識(shí)計(jì)時(shí)器的超時(shí)ID,因此您可以稍后通過(guò)調(diào)用clearTimeout()將其刪除。

使用clearTimeout()方法阻止該函數(shù)運(yùn)行。

該函數(shù)僅執(zhí)行一次。如果需要重復(fù)執(zhí)行,請(qǐng)使用setInterval()方法。

語(yǔ)法:

window.setTimeout(function, delay, param1, param2, ...)
setTimeout(function(){ alert("Hello World"); }, 2000);
測(cè)試看看?/?

瀏覽器兼容性

表中的數(shù)字指定了完全支持setTimeout()方法的第一個(gè)瀏覽器版本:

Method
setTimeout()11414

參數(shù)值

參數(shù)描述
function(必需)計(jì)時(shí)器到期后要執(zhí)行的函數(shù)
delay(必需)計(jì)時(shí)器應(yīng)等待的時(shí)間(以毫秒為單位)(1000毫秒= 1秒),然后執(zhí)行指定的函數(shù)或代碼。如果省略,則使用值0
param1, param2, ...(可選)傳遞給該函數(shù)(function)的其他參數(shù)  (IE9和更早版本中不支持)

技術(shù)細(xì)節(jié)

返回值:一個(gè)數(shù)字,表示設(shè)置的計(jì)時(shí)器的超時(shí)ID值。將此值與clearTimeout()方法一起使用可取消計(jì)時(shí)器

更多實(shí)例

此示例引用外部“命名”函數(shù):

var timeoutID;

function myFunc() {
  timeoutID = setTimeout(myCallback, 2000);
}

function myCallback() {
  alert("Hello World");
}
測(cè)試看看?/?

使用clearTimeout()阻止函數(shù)運(yùn)行:

var timeoutID;

function myFunc() {
  timeoutID = setTimeout(myCallback, 2000);
}

function myCallback() {
  alert("Hello World");
}

function myStopFunc() {
   clearTimeout(timeoutID);
}
測(cè)試看看?/?

使用遞歸顯示當(dāng)前時(shí)間(就像數(shù)字手表一樣,每1秒鐘執(zhí)行一次“ startTimer()”函數(shù)):

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 
}
測(cè)試看看?/?

使用setTimeout()創(chuàng)建動(dòng)態(tài)進(jìn)度條:

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);
}
測(cè)試看看?/?

單擊下面的“開(kāi)始計(jì)數(shù)”按鈕以啟動(dòng)計(jì)時(shí)器。單擊“停止計(jì)數(shù)”按鈕停止計(jì)數(shù):

0
測(cè)試看看

將參數(shù)傳遞給myFunc函數(shù)(在IE9和更早版本中不起作用):

var timeoutID = setTimeout(myFunc, 2000, "First", "Second", "Third");
測(cè)試看看?/?

但是,如果您使用匿名函數(shù),它將在所有瀏覽器中運(yùn)行:

var timeoutID = setTimeout(function(){ myFunc("First", "Second", "Third"); }, 2000);
測(cè)試看看?/?

相關(guān)參考

窗口(Window)參考:clearTimeout()方法

窗口(Window)參考:setInterval()方法

窗口(Window)參考:clearInterval()方法

JavaScript Window 對(duì)象

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清