JavaScript計時器樣本分析_javascript技巧

來源:互聯網
上載者:User

1.什麼是JavaScript計時器?

在JavaScript中,我們可以在設定的時間間隔之後來執行代碼,而不是在函數被調用後立即執行。

2.計時器類型

一次性計時器:僅在指定的延遲時間之後觸發一次。
間隔性觸發計時器:每隔一定的時間間隔就觸發一次

3.計時器方法

1):一次性計時器

A):setTimeout(): 指定的延遲時間之後來執行代碼,進執行一次

文法:setTimeout(代碼,延遲時間);

參數說明:

1. 要調用的函數或要執行的代碼串。
2. 延時時間:在執行代碼前需等待的時間,以毫秒為單位(1s=1000ms)。

B):clearTimeout():取消setTimeout()設定

文法:clearTimeout(timer)

參數說明:
timer:由 setTimeout() 返回的 ID 值。該值標識要取消的順延強制代碼塊。

調用setTimeout()和clearTimeout()延遲方法:

複製代碼 代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JavaScript計時器</title>
        <input type="button" value="開始" id="btnStart" onclick="StartPrint()">
        <input type="button" value="暫停" id="btnStop" onclick="StopPrint()">
        <br>
    </head>
    <body>
        <script type="text/javascript">
            //定義列印方法
            function Print()
            {
                console.log("我在列印!");
            }
            var timer;//該值標識要取消的順延強制代碼塊
            //開始列印
            function StartPrint()
            {
                timer=setTimeout(Print,1000);//調用計時器,延遲1秒列印,只執行一次
            }
            //結束列印
            function StopPrint()
            {
                clearTimeout(timer);//取消計時器
            }
        </script>
    </body>
</html>

調用setTimeout()和clearTimeout()無限迴圈方法:

複製代碼 代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JavaScript計時器</title>
        <input type="button" value="開始" id="btnStart" onclick="StartPrint()">
        <input type="button" value="暫停" id="btnStop" onclick="StopPrint()">
        <br>
    </head>
    <body>
        <script type="text/javascript">
            //定義列印方法
            function Print()
            {
                console.log("我在列印!");
                timer=setTimeout(Print,1000);//開始計時器,調用自己,進行無窮迴圈
            }
            var timer;//該值表示要取消順延強制的代碼塊
            //開始列印
            function StartPrint()
            {
                Print();//調用列印方法
            }
            //結束列印
            function StopPrint()
            {
                clearTimeout(timer);//取消計時器
            }
        </script>
    </body>
</html>

 
2):間隔性觸發計時器

A):setInterval():在執行時,從載入頁面後每隔指定的時間執行代碼

文法:setInterval(代碼,互動時間);

參數說明:

1. 代碼:要調用的函數或要執行的代碼串。

2. 互動時間:周期性執行或調用運算式之間的時間間隔,以毫秒計(1s=1000ms)。

傳回值:

一個可以傳遞給 clearInterval() 從而取消對"代碼"的周期性執行的值。

調用函數格式(假設有一個clock()函數):

setInterval("clock()",1000) 或 setInterval(clock,1000)

B):clearInterval() 方法可取消由 setInterval() 設定的互動時間

文法:clearInterval(timer)

參數說明:
timer:由 setInterval() 返回的 ID 值。

調用setInterval()和clearInterval() 執行間隔執行方法執行個體

複製代碼 代碼如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>JavaScript計時器</title>
        <input type="button" value="開始" id="btnStart" onclick="StartPrint()">
        <input type="button" value="暫停" id="btnStop" onclick="StopPrint()">
        <br>
    </head>
    <body>
        <script type="text/javascript">
            //定義列印方法
            function Print()
            {
                console.log("我在列印!");
            }
            var timer;//該值標識要取消的計時器執行代碼塊
            //開始列印
            function StartPrint()
            {
            timer=setInterval("Print()",1000);//開始計時器
            }
            //結束列印
            function StopPrint()
            {
                clearInterval(timer);;//取消計時器
            }
        </script>
    </body>
</html>

以上就是本文所述的全部內容了,希望小夥伴們能夠喜歡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.