--sunfruit
我們有的時(shí)候需要在javascript里面實(shí)現(xiàn)延時(shí)功能,比如:當(dāng)某一個(gè)按鈕按下提交內(nèi)容以后就馬上把狀態(tài)改為失效,過(guò)2秒鐘以后再把狀態(tài)改為有效,才可以進(jìn)行下一次提交
這個(gè)過(guò)程就需要延時(shí)功能了,這里用到了javascript的setTimeout函數(shù),這個(gè)函數(shù)的入口參數(shù)為2個(gè),第一個(gè)參數(shù)是需要執(zhí)行的內(nèi)容,這個(gè)可以是一個(gè)URL,也可以是另一個(gè)javascript函數(shù),第二個(gè)參數(shù)是延時(shí)的時(shí)間數(shù)單位是毫秒,下面舉個(gè)例子
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>無(wú)標(biāo)題文檔</title>
<script language="javascript">
function r1()
{
setTimeout("r2()",2000);
}
function r2()
{
alert("OK");
}
</script>
</head>
<body>
<input name="uu" type="button" id="uu" value="按鈕" onClick="r1();">
<form name="form1" method="post" action="">
</form>
</body>
</html>
執(zhí)行這個(gè)例子的效果是:按鈕按下去以后2秒鐘“OK”對(duì)話框彈出,呵呵用這個(gè)特性實(shí)現(xiàn)button的失效和有效就簡(jiǎn)單多了
這里有一個(gè)技巧,就是在頁(yè)面body的onload屬性里面加上setTimeout的執(zhí)行方法,而且setTimeout方法的第一個(gè)參數(shù)為執(zhí)行自身頁(yè)面,這樣的效果就是間隔一定時(shí)間刷新本頁(yè),也許有人問(wèn)了,html的自身屬性就提供定時(shí)刷新頁(yè)面功能,jsp頁(yè)面的head屬性里面也有類似的功能,干嘛這么麻煩使用setTimeout方法
不知道大家注意了沒(méi)有,不管是使用html的自身提供定時(shí)刷新頁(yè)面功能還是jsp頁(yè)面head屬性里面類似的功能,都會(huì)有瀏覽器發(fā)出的“啪啪”的聲音,而使用setTimeout則沒(méi)有這樣的聲音,所以使用setTimeout方法還是很有用的