Javascript里延遲函數(shù)的復(fù)習(xí)
1.setTimeout()和clearTimeout()函數(shù)是一對(duì)控制頁(yè)面定時(shí)觸發(fā)時(shí)間的起始函數(shù)。2.handle = setTimeout(statement, microime),的作用是設(shè)定每mircotime毫秒執(zhí)行一次statement,并把返回一個(gè)句柄給handle,以便可以用clearTimeout(handle)來(lái)結(jié)束計(jì)時(shí)。 //Javascript Wait Function Demo
Demo:
1
<h3>//Javascript Wait Function Demo</h3>
2
<hr>
3
<input type="button" value="請(qǐng)點(diǎn)擊,2秒后打開(kāi)一個(gè)警告" id="redhacker">
4
<input type="button" value="停止" id="dgq">
5
<script>
6
//code by douguoqiang1980@163.com
7
var handle;
8
document.getElementById("redhacker").onclick = function()
{handle = setTimeout("alert('你好,紅色黑客!')",2000)};
9
document.getElementById("dgq").onclick = function()
{clearTimeout(handle);};
10
</script>

2

3

4

5



6

7

8



9



10

說(shuō)明:點(diǎn)擊第一個(gè)按鈕,將兩秒后彈出一個(gè)警告框。在點(diǎn)擊第一個(gè)按鈕后,還不到兩秒時(shí),點(diǎn)“停止”按鈕,則取消等待,并警告框也不會(huì)彈出。
3.setInterval()和clearInterval()兩個(gè)函數(shù),和以上兩個(gè)函數(shù)大同小異,區(qū)別在于前者用來(lái)定時(shí)要在將來(lái)某個(gè)時(shí)候執(zhí)行一次的函數(shù)或者表達(dá)式;而后者多用于要反復(fù)調(diào)用的函數(shù)和語(yǔ)句,他們之間只間隔一個(gè)固定的時(shí)間,這個(gè)時(shí)間過(guò)程中不是一個(gè)等待的過(guò)程,因?yàn)楫?dāng)延遲其作用時(shí),其它的處理過(guò)程并不掛起!所以用setInterval()來(lái)制作網(wǎng)頁(yè)動(dòng)畫要更合理一些!他們的語(yǔ)法格式是:
iTimerID = window.setInterval(vCode, iMilliSeconds [, sLanguage])
Demo1:
1
<h3>//Javascript Wait Function Demo</h3>
2
<hr>
3
<input type="button" value="10" id="redhacker" style="width:50">
4
<input type="button" value="停止" id="dgq" style="width:50">
5
<script>
6
//code by douguoqiang1980@163.com
7
//直接調(diào)用函數(shù)的示例
8
var alertFun = function()
{
9
var n = document.getElementById("redhacker").value;
10
document.getElementById("redhacker").value = n-1;
11
}
12
handle = setInterval(alertFun,1000);
13
document.getElementById("dgq").onclick = function()
{clearInterval(handle);alert("倒記時(shí)已停止")}
14
</script>

2

3

4

5



6

7

8



9

10

11

12

13



14

Domo2:
1
<h3>//Javascript Wait Function Demo</h3>
2
<hr>
3
<input type="button" value="10" id="redhacker" style="width:50">
4
<input type="button" value="停止" id="dgq" style="width:50">
5
<script>
6
//code by douguoqiang1980@163.com
7
//調(diào)用對(duì)象自定義方法,并復(fù)習(xí)如何給一個(gè)內(nèi)置對(duì)象添加一個(gè)方法
8
var alertFun = function()
{
9
var n = document.getElementById("redhacker").value;
10
document.getElementById("redhacker").value = n-1;
11
}
12
Object.prototype.aMethod = alertFun;
13
var o = new Object();
14
var handle = setInterval(o.aMethod,1000);
15
document.getElementById("dgq").onclick = function()
{clearInterval(handle);alert("倒記時(shí)已停止")}
16
</script>

2

3

4

5



6

7

8



9

10

11

12

13

14

15



16

Demo3:
1
<h3>//Javascript Wait Function Demo</h3>
2
<hr>
3
<input type="button" value="10" id="redhacker" style="width:50">
4
<input type="button" value="停止" id="dgq" style="width:50">
5
<script>
6
//code by douguoqiang1980@163.com
7
//自定義對(duì)象,并為對(duì)象添加一個(gè)自定義方法,調(diào)用改方法
8
var alertFun = function()
{
9
var n = document.getElementById("redhacker").value;
10
document.getElementById("redhacker").value = n-1;
11
}
12
function myObject()
{
13
}
14
myObject.prototype.aMethod = alertFun;
15
var o = new myObject();
16
var handle = setInterval(o.aMethod,1000);
17
document.getElementById("dgq").onclick = function()
{clearInterval(handle);alert("倒記時(shí)已停止")}
18
</script>

2

3

4

5



6

7

8



9

10

11

12



13

14

15

16

17



18

補(bǔ)充:這四個(gè)函數(shù)確切的說(shuō),是window對(duì)象的方法,window 是DOM中的一個(gè)頂級(jí)對(duì)象。只是如果不寫對(duì)象名,就默認(rèn)是window,就像alert()等用于window.alert()一樣!
posted on 2007-06-22 09:49 朱巖 閱讀(1045) 評(píng)論(0) 編輯 收藏 所屬分類: JavaScript文章