Javascript里延遲函數(shù)的復習
1.setTimeout()和clearTimeout()函數(shù)是一對控制頁面定時觸發(fā)時間的起始函數(shù)。2.handle = setTimeout(statement, microime),的作用是設定每mircotime毫秒執(zhí)行一次statement,并把返回一個句柄給handle,以便可以用clearTimeout(handle)來結束計時。 //Javascript Wait Function Demo
Demo:
1
<h3>//Javascript Wait Function Demo</h3>
2
<hr>
3
<input type="button" value="請點擊,2秒后打開一個警告" 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

說明:點擊第一個按鈕,將兩秒后彈出一個警告框。在點擊第一個按鈕后,還不到兩秒時,點“停止”按鈕,則取消等待,并警告框也不會彈出。
3.setInterval()和clearInterval()兩個函數(shù),和以上兩個函數(shù)大同小異,區(qū)別在于前者用來定時要在將來某個時候執(zhí)行一次的函數(shù)或者表達式;而后者多用于要反復調用的函數(shù)和語句,他們之間只間隔一個固定的時間,這個時間過程中不是一個等待的過程,因為當延遲其作用時,其它的處理過程并不掛起!所以用setInterval()來制作網(wǎng)頁動畫要更合理一些!他們的語法格式是:
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
//直接調用函數(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("倒記時已停止")}
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
//調用對象自定義方法,并復習如何給一個內置對象添加一個方法
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("倒記時已停止")}
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
//自定義對象,并為對象添加一個自定義方法,調用改方法
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("倒記時已停止")}
18
</script>

2

3

4

5



6

7

8



9

10

11

12



13

14

15

16

17



18

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