JavaScript中提供了两种实现计时、延时的方法,分别如下:
一、 t = setTimeout(“function()", millisecond) 与 clearTimeout(t) 方法配套使用。
t = setTimeout(“function()", millisecond) 方法中,function()函数里定义想要定时调用的代码,millisecond参数代表想要延迟的计时时间,t 是函数返回的ID值。此函数仅根据时间周期调用function()函数一次。但是可以通过递归调用,实现多次循环计时。
clearTimeout(t)函数可以清除setTimeout()函数的计时信息,停止计时。
60秒倒计时代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</head>
<body οnlοad="CountTime()">
<div id = "timeBar" style="font-size:22px;" align="center"></div>
<script type = "text/javascript" src = "CountTime.js"></script>
</body>
</html>
time = 60;
function CountTime()
{
document.getElementById("timeBar").innerHTML = time;
time = time - 1;
if ( time == -1)
{
clearTimeout(t);
}
else
{
t = setTimeout("CountTime()",1000);
}
}
二、t= setInterval(”function()“,millisecond)方法与setTimeout()使用方法类似,但是该函数是以设置的时间为周期,周期性的调用function()函数执行代码。
clearInterval(t)方法是用来清除计时信息,终止计时程序。
可实现60秒倒计时代码如下(Html代码共用第一部分):
time = 60;
function SetText()
{
document.getElementById("timeBar").innerHTML = time;
time = time - 1;
if ( time == -1)
{
clearInterval(t);
}
}
function CountTime()
{
t = setInterval("SetText()",1000);
}
以上两种方法均可实现倒计时的功能。