JavaScript ਟਾਈਮਿੰਗ ਈਵੈਂਟ

JavaScript 可以在时间间隔内执行。

这就是所谓的定时事件( Timing Events)。

Timing 事件

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

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

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

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

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

setTimeout() 方法

window.setTimeout(function, milliseconds);

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

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

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

ਇੰਸਟੈਂਸ

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

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

ਆਪਣੇ ਆਪ ਕੋਸ਼ਿਸ਼ ਕਰੋ

如何停止执行?

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

window.clearTimeout(timeoutVariable)

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

clearTimeout() 使用从 setTimeout() ਵਾਪਸ ਦਿੱਤੇ ਗਏ ਮੁੱਦਾ:

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

ਇੰਸਟੈਂਸ

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

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

ਆਪਣੇ ਆਪ ਕੋਸ਼ਿਸ਼ ਕਰੋ

setInterval() 方法

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

window.setInterval(function, milliseconds);

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

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

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

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

ਇੰਸਟੈਂਸ

显示当前时间:

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

ਆਪਣੇ ਆਪ ਕੋਸ਼ਿਸ਼ ਕਰੋ

一秒有 1000 毫秒。

如何停止执行?

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

window.clearInterval(timerVariable)

window.clearInterval() ਮੱਥੋਦ ਨੂੰ window ਪ੍ਰੋਫਾਈਲ ਦੇ ਬਿਨਾ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।

clearInterval() ਮੱਥੋਦ ਵਰਤੋਂ ਕਰਨ ਲਈ setInterval() ਵਾਪਸ ਦਿੱਤੇ ਗਏ ਮੁੱਦਾ:

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

ਇੰਸਟੈਂਸ

ਇਸ ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਪਰ ਅਸੀਂ 'ਸਮਾਪਤ ਸਮਾਂ' ਬਟਨ ਜੋੜਿਆ ਹੈ:

<p id="demo"></p>
<button onclick="clearInterval(myVar)">ਸਮਾਪਤ ਸਮਾਂ</button>
<script>
var myVar = setInterval(myTimer, 1000);
 function myTimer() {
    var d = new Date();
    document.getElementById("demo").innerHTML = d.toLocaleTimeString();
}
</script>

ਆਪਣੇ ਆਪ ਕੋਸ਼ਿਸ਼ ਕਰੋ