JavaScript初級:Window對象的定時器

JavaScript初級——Window對象的定時器

  • setTimeout
  • setInterval

setTimeout

  • 作用:在指定的毫秒數調用函數或者計算表達式(只執行一次)
  • 使用:setTimerout(函數/計算表達式,等待時間)
  • 返回值:setTimeout方法返回一個方法對象,可以定義一個變量來接收它
  • 取消定時器:clearTimeout(setTimeout返回的方法對象)

setInterval

  • 作用:按照指定的週期(毫秒數)來調用函數或表達式
  • 使用:setInterval(函數/計算表達式,週期)
  • 返回值:setInterval方法返回一個方法對象,可以定義一個變量來接收它
  • 取消定時器:clearInterval(setInterval返回的方法對象)

實例

<!--- 使用setInterval實現倒計時功能>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1 id="t">10</h1>
<input type="button" οnclick="start()" value="開始">
<input type="button" οnclick="stop()" value="暫停">
<input type="button" οnclick="res()" value="重置">
<script>
    var timer=null;//定義變量timer,用於接收方法返回值
    var h=document.getElementById("t");		//獲取倒計時
    function  start() {	
        if(timer==null){		//避免多次點擊“開始”按鈕而產生的bug
            timer=setInterval(function(){	//setInterval中的函數可以寫成匿名內部類的形式
                var t=h.innerHTML;
                if(t==0){
                    stop();
                    alert("午時已到!");
                    h.innerText=10;
                }else{
                    t--
                    h.innerHTML=t;
                }
            },1000)
        }
    }
    function  res() {	//重置倒計時
        if(timer!=null){
            clearInterval(timer);	//取消定時器
        }
        h.innerHTML=10;
        timer=null;
    }
    function stop() {	//暫停計時器
        if(timer!=null){
            clearInterval(timer);
            timer=null;
        }
    }
</script>
</body>
</html>

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