要领 | 形貌 |
---|---|
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) }