溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript實(shí)現(xiàn)計(jì)時(shí)事件的方法

發(fā)布時(shí)間:2020-07-06 10:35:45 來源:億速云 閱讀:195 作者:清晨 欄目:開發(fā)技術(shù)

這篇文章主要介紹JavaScript實(shí)現(xiàn)計(jì)時(shí)事件的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

JavaScript 計(jì)時(shí)事件

通過使用 JavaScript,我們有能力做到在一個(gè)設(shè)定的時(shí)間間隔之后來執(zhí)行代碼,而不是在函數(shù)被調(diào)用后立即執(zhí)行。我們稱之為計(jì)時(shí)事件。

在 JavaScritp 中使用計(jì)時(shí)事件是很容易的,兩個(gè)關(guān)鍵方法是:

  • setInterval() - 間隔指定的毫秒數(shù)不停地執(zhí)行指定的代碼。
  • setTimeout() - 在指定的毫秒數(shù)后執(zhí)行指定代碼。
     

注意: setInterval() 和 setTimeout() 是 HTML DOM Window對(duì)象的兩個(gè)方法。

setInterval() 方法

setInterval() 間隔指定的毫秒數(shù)不停地執(zhí)行指定的代碼

語法

window.setInterval("javascript function",milliseconds);

window.setInterval() 方法可以不使用 window 前綴,直接使用函數(shù) setInterval()。

setInterval() 第一個(gè)參數(shù)是函數(shù)(function)。

第二個(gè)參數(shù)間隔的毫秒數(shù)

注意: 1000 毫秒是一秒。

setInterval(function(){alert("Hello")},3000);

效果如下:

JavaScript實(shí)現(xiàn)計(jì)時(shí)事件的方法

實(shí)例展示了如何使用 setInterval() 方法,但是每三秒彈出一次對(duì)用戶體驗(yàn)并不好。

以下實(shí)例將顯示當(dāng)前時(shí)間。 setInterval() 方法設(shè)置每秒鐘執(zhí)行一次代碼,就是手表一樣。

var myVar=setInterval(function(){myTimer()},1000);
 
function myTimer()
{
  var d=new Date();
  var t=d.toLocaleTimeString();
  document.getElementById("demo").innerHTML=t;
}

效果如下:

JavaScript實(shí)現(xiàn)計(jì)時(shí)事件的方法

如何停止執(zhí)行?

clearInterval() 方法用于停止 setInterval() 方法執(zhí)行的函數(shù)代碼。

語法

window.clearInterval(intervalVariable)

window.clearInterval() 方法可以不使用window前綴,直接使用函數(shù)clearInterval()。

要使用 clearInterval() 方法, 在創(chuàng)建計(jì)時(shí)方法時(shí)你必須使用全局變量:

myVar=setInterval("javascript function",milliseconds);

然后你可以使用 clearInterval() 方法來停止執(zhí)行。

以下例子,我們添加了 "停止" 按鈕:

<p id="demo"></p>
<button onclick="myStopFunction()">停止</button>
<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer(){
  var d=new Date();
  var t=d.toLocaleTimeString();
  document.getElementById("demo").innerHTML=t;
}
function myStopFunction(){
  clearInterval(myVar);
}
</script>

效果如下:

JavaScript實(shí)現(xiàn)計(jì)時(shí)事件的方法

setTimeout() 方法

語法

myVar= window.setTimeout("javascript function", milliseconds);

setTimeout() 方法會(huì)返回某個(gè)值。在上面的語句中,值被儲(chǔ)存在名為 myVar 的變量中。假如你希望取消這個(gè) setTimeout(),你可以使用這個(gè)變量名來指定它。

setTimeout() 的第一個(gè)參數(shù)是含有 JavaScript 語句的字符串。這個(gè)語句可能諸如 "alert('5 seconds!')",或者對(duì)函數(shù)的調(diào)用,諸如 alertMsg。

第二個(gè)參數(shù)指示從當(dāng)前起多少毫秒后執(zhí)行第一個(gè)參數(shù)。

提示:1000 毫秒等于一秒。

實(shí)例

等待3秒,然后彈出 "Hello":

setTimeout(function(){alert("Hello")},3000);

效果如下:

JavaScript實(shí)現(xiàn)計(jì)時(shí)事件的方法

如何停止執(zhí)行&#63;

clearTimeout() 方法用于停止執(zhí)行setTimeout()方法的函數(shù)代碼。

語法

window.clearTimeout(timeoutVariable)

window.clearTimeout() 方法可以不使用window 前綴。

要使用clearTimeout() 方法, 你必須在創(chuàng)建超時(shí)方法中(setTimeout)使用全局變量:

myVar=setTimeout("javascript function",milliseconds);

如果函數(shù)還未被執(zhí)行,你可以使用 clearTimeout() 方法來停止執(zhí)行函數(shù)代碼。

實(shí)例

以下是同一個(gè)實(shí)例, 但是添加了 "Stop the alert" 按鈕:

var myVar;
 
function myFunction()
{
  myVar=setTimeout(function(){alert("Hello")},3000);
}
 
function myStopFunction()
{
  clearTimeout(myVar);
}

效果如下:

JavaScript實(shí)現(xiàn)計(jì)時(shí)事件的方法

以上是JavaScript實(shí)現(xiàn)計(jì)時(shí)事件的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI