要领 | 形貌 |
---|---|
setInterval | 周期性地挪用一个函数(function)或许实行一段代码。 |
clearInterval | 作废掉用setInterval设置的反复实行行动。 |
setTimeout | 在指定的耽误时间以后挪用一个函数或许实行一个代码片断。 |
clearTimeout | 要领可作废由 setTimeout() 要领设置的 timeout。 |
setInterval()
window.setInterval()要领,周期性地挪用一个函数(function)或许实行一段代码。
语法
var intervalID = window.setInterval(func, delay[, param1, param2, …]);
var intervalID = window.setInterval(code, delay);
详解
intervalID 是此反复操纵的唯一辨识符,能够作为参数传给clearInterval()。
func 是你想要反复挪用的函数。
code 是另一种语法的运用,是指你想要反复实行的一段字符串组成的代码(运用该语法是不引荐的,不引荐的缘由和eval()一样)。
delay 是每次耽误的毫秒数 (一秒即是1000毫秒),函数的每次挪用会在该耽误以后发作。和setTimeout一样,现实的耽误时间可能会稍长一点。
须要注重的是,IE不支持第一种语法中向耽误函数通报分外参数的功用.假如你想要在IE中到达一样的功用,你必需运用一种兼容代码 (检察callback arguments 一段)。
例子
js
setInterval(function(){
console.log("log")
},1000)
clearInterval()
window.clearInterval()
作废掉用setInterval设置的反复实行行动.
语法
window.clearInterval(intervalID)
详解
在指定的耽误时间以后挪用一个函数或许实行一个代码片断。
intervalID是你想要作废的反复行动的ID,这个ID是个整数,是由setInterval()返回的。
例子
js
var pageTimer = {} ; //定义计算器全局变量
//赋值模仿
pageTimer["timer1"] = setInterval(function(){},2000);
pageTimer["timer2"] = setInterval(function(){},2000);
//悉数消灭要领
for(var each in pageTimer){
clearInterval(pageTimer[each]);
}
js
// 暴力消灭
for(var i = 1; i < 1000; i++) {
clearInterval(i);
}
剖析:现实上暴力消灭的体式格局是不可取的,在不得已情况下才运用,在IE下,定时器返回值在IE下面是8位数字如:248147094,而且起始值不能肯定,而Chrome和firefox下是从1最先的个位数字,平常项目照样发起第一种,而且第一种的扩展性也好,比方能够做个要领,消灭除了指定定时器以外的一切定时器。
setTimeout()
在指定的耽误时间以后挪用一个函数或许实行一个代码片断。window.setTimeout()
语法
var timeoutID = window.setTimeout(func, delay, [param1, param2, …]);
var timeoutID = window.setTimeout(code, delay);
详解
* timeoutID 是该延时操纵的数字ID, 此ID随后能够用来作为window.clearTimeout要领的参数。
* func 是你想要在delay毫秒以后实行的函数。
* code 在第二种语法,是指你想要在delay毫秒以后实行的代码 (运用该语法是不引荐的, 不引荐的缘由和eval()一样)。
* delay 是耽误的毫秒数 (一秒即是1000毫秒),函数的挪用会在该耽误以后发作.然则现实的耽误时间可能会稍长一点,检察下面的备注。
须要注重的是,IE不支持第一种语法中向耽误函数通报分外参数的功用。假如你想要在IE中到达一样的功用,你必需运用一种兼容代码 (检察callback arguments 一段)。
备注
你能够运用 window.clearTimeout()来作废耽误操纵。
假如你愿望你的代码被反复的挪用 (比方每 N 毫秒一次),斟酌运用window.setInterval()。
例子
js
// 引荐
window.setTimeout(function() {
alert("Hello World!");
}, 500);
// 不引荐
window.setTimeout("alert("Hello World!");", 500);
clearTimeout()
window.clearTimeout() 要领可作废由 setTimeout() 要领设置的 timeout。
语法
clearTimeout(id_of_settimeout)
详解
参数 | 形貌 |
---|---|
id_of_settimeout | 由 setTimeout() 返回的 ID 值。该值标识要作废的耽误实行代码块。 |
实例
js
var c=0
var t
function timedCount(){
document.getElementById('txt').value=c
c=c+1
t=setTimeout("timedCount()",1000)
}
function stopCount(){
clearTimeout(t)
}