js的倒計時事件與倒計時小例子

通過使用 JavaScript,我們有能力作到在一個設定的時間間隔之後來執行代碼,而不是在函數被調用後立即執行。我們稱之爲計時事件。

在 JavaScritp 中使用計時事件是很容易的,兩個關鍵方法是:

setTimeout()用於設定未來的某時執行代碼。

setTimeout的語法:

var timeID=setTimeout("javascript語句",毫秒)
setTimeout() 方法會返回某個值。在上面的語句中,值被儲存在名爲 t 的變量中。假如你希望取消這個 setTimeout(),你可以使用這個變量名來指定它。
setTimeout() 的第一個參數是含有 JavaScript 語句的字符串。這個語句可能諸如 "alert('5 seconds!')",或者對函數的調用,諸如 alertMsg()"。
第二個參數指示從當前起多少毫秒後執行第一個參數。
提示:1000 毫秒等於一秒。
clearTimeout()用於取消setTimeout()的執行。

語法格式:clearTimeout(setTimeout_variable)
參數是上面的timeID用於指代setTimeOut方法。
下面是一個具體的小例子來幫助理解:

例子一、

<html>
<head>
<script type="text/javascript">

function timedMsg()
{
     var y= setTimeout("fun()",3000);
}
function fun()
{
    document.getElementById("txt").value="好好的過完這一年。。。。"; 
}
  
</script>
</head>

<body>
<form>
<input type="button" value="輸入框顯示有內容" onClick = "timedMsg()">
<input type="text" id="txt">
</form>
<p>請點擊上面的按鈕。警告框會在 3秒後顯示。</p>
</body>

</html>

例子二、一個年份倒計時

<html>
<head>

</head>
<body>
<form name="form1">  
<div align="center" align="center">  
<center>距離2015年還有:<br>  
<input type="textarea" name="left" size="35" style="text-align: center">  
</center>  
</div>  
</form>  
<script language="javascript">  
startclock()  
var timerID = null;  
var timerRunning = false;  
function showtime() {  
Today = new Date();  
var NowHour = Today.getHours();  
var NowMinute = Today.getMinutes();  
var NowMonth = Today.getMonth();  
var NowDate = Today.getDate();  
var NowYear = Today.getYear();  
var NowSecond = Today.getSeconds();  
if (NowYear <2000)  
NowYear=1900+NowYear;  
Today = null;  
Hourleft = 23 - NowHour  
Minuteleft = 59 - NowMinute  
Secondleft = 59 - NowSecond  
Yearleft = 2014 - NowYear  
Monthleft = 12 - NowMonth - 1
Dateleft = 31 - NowDate  
if (Secondleft<0)  
{  
Secondleft=60+Secondleft;  
Minuteleft=Minuteleft-1;  
}  
if (Minuteleft<0)  
{   
Minuteleft=60+Minuteleft;  
Hourleft=Hourleft-1;  
}  
if (Hourleft<0)  
{  
Hourleft=24+Hourleft;  
Dateleft=Dateleft-1;  
}  
if (Dateleft<0)  
{  
Dateleft=31+Dateleft;  
Monthleft=Monthleft-1;  
}  
if (Monthleft<0)  
{  
Monthleft=12+Monthleft;  
Yearleft=Yearleft-1;  
}  
Temp=Yearleft+'年, '+Monthleft+'月, '+Dateleft+'天, '+Hourleft+'小時, '+Minuteleft+'分, '+Secondleft+'秒'
document.form1.left.value=Temp;  
timerID = setTimeout("showtime()",1000);  
timerRunning = true;  
}  
var timerID = null;  
var timerRunning = false;  
function stopclock () {  
if(timerRunning)  
clearTimeout(timerID);  
timerRunning = false;  
}  
function startclock () {  
stopclock();  
showtime();  
}  
// -->  
</script>    
</body>
</html>

效果如圖:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章