Jambo JavaScript Timing Events

JavaScript inaweza kuchukua kazi kwa muda mwingi.

Hiiyo kwa sababu ya matukio ya muda (Timing Events).

Timing 事件

window 对象允许以指定的时间间隔执行代码。

这些时间间隔称为定时事件。

通过 JavaScript 使用的有两个关键的方法:

setTimeout(function, milli)
在等待指定的毫秒数后执行函数。
setInterval(function, milli)
等同于 setTimeout(),但持续重复执行该函数。

setTimeout()Muatiko wa setInterval() 都属于 HTML DOM Window 对象的方法。

setTimeout() 方法

window.setTimeout(function, milli);

window.setTimeout() 方法可以不带 window 前缀来编写。

第一个参数是要执行的函数。

第二个参数指示执行之前的毫秒数。

Mifano

单击按钮。等待 3 秒,然后页面会提示 "Hello":

<button onclick="setTimeout(myFunction, 3000)">试一试</button>
<script>
function myFunction() {
    alert('Hello');
 }
</script>

Kutembelea kwa kufikia

如何停止执行?

clearTimeout() 方法停止执行 setTimeout() 中规定的函数。

window.clearTimeout(timeoutVariable)

window.clearTimeout() 方法可以不带 window 前缀来写。

clearTimeout() 使用从 setTimeout() Muwadio wa matokeo:

myVar = setTimeout(function, milli);
clearTimeout(myVar);

Mifano

类似上例,但是添加了“停止”按钮:

<button onclick="myVar = setTimeout(myFunction, 3000)">试一试</button>
<button onclick="clearTimeout(myVar)">停止执行</button>

Kutembelea kwa kufikia

setInterval() 方法

Muatiko wa setInterval() 方法在每个给定的时间间隔重复给定的函数。

window.setInterval(function, milli);

window.setInterval() 方法可以不带 window 前缀来写。

第一个参数是要执行的函数。

第二个参数每个执行之间的时间间隔的长度。

本例每秒执行一次函数 "myTimer"(就像数字手表)。

Mifano

显示当前时间:

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

Kutembelea kwa kufikia

一秒有 1000 毫秒。

如何停止执行?

Muatiko wa clearInterval() 方法停止 Muatiko wa setInterval() 方法中指定的函数的执行。

window.clearInterval(timerVariable)

window.clearInterval() inaendelea kutumia bila kufikia window kufikia.

Muatiko wa clearInterval() Inaendelea kutumia kwenye Muatiko wa setInterval() Muwadio wa matokeo:

myVar = setInterval(function, milli);
clearInterval(myVar);

Mifano

Kama mifano ya juu, lakini tumekuwaongeza kiburi cha kumaliza saa:

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

Kutembelea kwa kufikia