1. 程式人生 > >JavaScript時鐘與定時器

JavaScript時鐘與定時器

1.時鐘

例子:時鐘

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>clock</title>
<script type="text/javascript">

window.onload = function(){
    function fnRunning(){
        var oDiv = document.getElementById('div1');
        var sNow = new Date();          /*當前時間*/
        var iYear = sNow.getFullYear(); /*年*/
        var iMonth = sNow.getMonth()+1; /*月*/
        var iDate = sNow.getDate();     /*日*/
        var iWeek = sNow.getDay();     
        var iHour = sNow.getHours();    /*時*/
        var iMinute = sNow.getMinutes();/*分*/
        var iSecond = sNow.getSeconds(); /*秒*/
        var sAdate = iDate + '-' + iMonth + '-' + iYear + ' ' + fnWeek(iWeek) + ' ' + fnClock(iHour) + ':' + fnClock(iMinute) + ':' + fnClock(iSecond);

        /*alert(sAdate);*/
        oDiv.innerHTML = '當前時間:' + sAdate;
    }

    function fnWeek(n){
        switch(n){
            case 0:
                return '星期日';
                break;
            case 1:
                return '星期一';
                break;
            case 2:
                return '星期二';
                break;
            case 3:
                return '星期三';
                break;
            case 4:
                return '星期四';
                break;
            case 5:
                return '星期五';
                break;
            case 6:
                return '星期六';
                break;
        }
    }
    function fnClock(n){          /*給時分秒補零*/
        if(n<10){
            return '0'+n;
        }
        else{
            return n;
        }
    }
    fnRunning();                 /*setInterval執行要一秒,在呼叫前先執行fnRunning*/

    setInterval(fnRunning,1000);
}
</script>

<style type="text/css">

div{
    text-align: center;
    font-size: 50px;
    background-color: antiquewhite;
}
</style>

</head>

<body>

<div id="div1"></div>

</body>
</html>

JavaScript時鐘與定時器

例子二:倒計時

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>倒計時</title>
<script type="text/javascript">

window.onload = function(){

    function down(){
        var oDiv = document.getElementById('div1');
        /*實際開發中需要讀取後臺資料的時間,可以通過ajax來讀取*/
        var sNow = new Date();
        /*alert(sNow);*/
        /*未來時間,月份是0-11表示一到十二月*/
        var sFuture = new Date(2019,0,6,15,0,0);
        /*計算多少秒*/
        var sLast = parseInt((sFuture-sNow)/1000);
        /*alert(sLast);單位s*/
        var iDay = parseInt(sLast/86400);
        /*alert(iDay);日*/
        var iHour = parseInt((sLast%86400)/3600);
        /*alert(iHour);時*/
        var iMinutes = parseInt((sLast%86400)%3600/60);
        /*alert(iMinutes);分*/
        var iSecond = sLast%60;
        /*alert(iSecond);秒*/
        var sTr = '距離今天下午15:00還剩: ' + add(iDay) + '天' + add(iHour) + '時' + add(iMinutes) + '分' + add(iSecond) + '秒';
        oDiv.innerHTML = sTr;
    }
    function add(n){           /*補零函式*/
        if(n<10){
            return '0'+n;
        }
        else{
            return n;
        }
    }
    down();                    /*setIterval執行需要大概一秒,先執行一遍down*/
    setInterval(down,1000);

}

</script>

<style type="text/css">

div{
    text-align: center;
    font-size: 40px;
    background-color: beige;
}
</style>

</head>

<body>

<div id="div1"></div>

</body>
</html>

JavaScript時鐘與定時器

2.定時器

setTimeout(函式名,時間) 只執行一次的定時器
注:
第一個可以寫函式名也可以寫匿名函式,時間單位是毫秒,不寫單位。

clearTimeout 關閉只執行一次的定時器
如:
var iRan = setTimeout(fake,1000);
clearTimeout(iRan);

setInterval 反覆執行的定時器

clearInterva 關閉反覆執行的定時器