JavaScript 計時事件-setInterval()-clearInterval() -setTimeout()-clearTimeout()

(PS:JavaScript 一個設定的時間間隔以後來執行代碼,咱們稱之爲計時事件。)javascript

JavaScript 計時事件

經過使用 JavaScript,咱們有能力作到在一個設定的時間間隔以後來執行代碼,而不是在函數被調用後當即執行。咱們稱之爲計時事件。java

在 JavaScritp 中使用計時事件是很容易的,兩個關鍵方法是:函數

  • setInterval() - 間隔指定的毫秒數不停地執行指定的代碼。
  • setTimeout() - 暫停指定的毫秒數後執行指定的代碼

Note: setInterval() 和 setTimeout() 是 HTML DOM Window對象的兩個方法。code

 

setInterval() 方法

setInterval() 間隔指定的毫秒數不停地執行指定的代碼對象

語法

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

window.setInterval() 方法能夠不使用window前綴,直接使用函數setInterval()事件

setInterval() 第一個參數是函數(function)。ip

第二個參數間隔的毫秒數字符串

注意: 1000 毫秒是一秒。get

實例

每三秒彈出 "hello" :it

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

實例展現瞭如何使用 setInterval() 方法,可是每三秒彈出一次對用戶體驗並很差。

如下實例將顯示當前時間。 setInterval() 方法設置每秒鐘執行一次代碼,就是手錶同樣。

實例

顯示當前時間

var myVar=setInterval(function(){myTimer()},1000);

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

如何中止執行?

clearInterval() 方法用於中止 setInterval() 方法執行的函數代碼。

語法

window.clearInterval( intervalVariable)

window.clearInterval() 方法能夠不使用window前綴,直接使用函數clearInterval()

要使用 clearInterval() 方法, 在建立計時方法時你必須使用全局變量:

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

而後你能夠使用clearInterval() 方法來中止執行。

實例

如下例子,咱們添加了 "Stop time" 按鈕:

<p id="demo"></p>
<button onclick="myStopFunction()">Stop time</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>
 

setTimeout() 方法

語法

window.setTimeout(" javascript 函數", 毫秒數);

setTimeout() 方法會返回某個值。在上面的語句中,值被儲存在名爲 t 的變量中。假如你但願取消這個 setTimeout(),你能夠使用這個變量名來指定它。

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

第二個參數指示從當前起多少毫秒後執行第一個參數。

提示:1000 毫秒等於一秒。

實例

等待3秒,而後彈出 "Hello":

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

如何中止執行?

clearTimeout() 方法用於中止執行setTimeout()方法的函數代碼。

語法

window.clearTimeout( timeoutVariable)

window.clearTimeout() 方法能夠不使用window 前綴。

要使用clearTimeout() 方法, 你必須在建立超時方法中(setTimeout)使用全局變量:

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

若是函數還未被執行,你能夠使用 clearTimeout() 方法來中止執行函數代碼。

實例

如下是同一個實例, 可是添加了 "Stop the alert" 按鈕:

var myVar; function myFunction() { myVar=setTimeout(function(){alert("Hello")},3000); } function myStopFunction() { clearTimeout(myVar); }
相關文章
相關標籤/搜索