js定時器

定時器彈框

setTimeout 只執(zhí)行一次的定時器
clearTimeout 關(guān)閉只執(zhí)行一次的定時器
setInterval 反復(fù)執(zhí)行的定時器
clearInterval 關(guān)閉反復(fù)執(zhí)行的定時器
舉例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>定時器彈框</title>
    <style type="text/css">
        .pop{
            width: 400px;
            height: 300px;
            background-color: #fff;
            border: 1px solid #000;
            /*固定定位*/
            position: fixed;
            /*左上角位于頁面中心*/
            left: 50%;
            top: 50%;
            /*讓div向左偏移半個寬度、向上偏移半個高度,使div位于頁面中心*/
            margin-left: -200px;
            margin-top: -150px;
            /*彈窗在最上面*/
            z-index: 9999;
        }
        /*遮罩樣式*/
        .mask{
            position: fixed;
            width: 100%;
            height: 100%;
            background-color: #000;
            left: 0;
            top: 0;
            /*設(shè)置透明度30%*/
            opacity: 0.3;
            filter: alpha(opacity=30);/*兼容IE6、7、8*/
            /*遮罩在彈窗的下面,在網(wǎng)頁所有內(nèi)容的上面*/
            z-index: 9990;
        }
        .pop_con{
            display: none;/*默認不顯示,用定時器顯示*/
        }
    </style>
    <script type="text/javascript">
        /*
        setTimeout      只執(zhí)行一次的定時器
        clearTimeout    關(guān)閉只執(zhí)行一次的定時器
        setInterval     反復(fù)執(zhí)行的定時器
        clearInterval   關(guān)閉反復(fù)執(zhí)行的定時器
        */

        window.onload = function(){
            var oPop = document.getElementById('pop');
            var oShut = document.getElementById('shutOff');

            /*setTimeout(showPop, 3000);//開啟定時器,3秒后調(diào)用函數(shù)showPop()彈框

            function showPop(){
                oPop.style.display = 'block';//顯示彈框和遮罩
            }*/
            //開啟定時器的簡寫方式:調(diào)用匿名函數(shù)
            setTimeout(function(){
                oPop.style.display = 'block';
            }, 3000);

            oShut.onclick = function(){
                oPop.style.display = 'none';//關(guān)閉彈框和遮罩
            }
        }
    </script>
</head>
<body>
    <h1>首頁標題</h1>
    <p>頁面內(nèi)容</p>
    <a >百度網(wǎng)</a>


    <div class="pop_con" id="pop">
        <div class="pop">
            <h3>提示信息!</h3>
            <a href="#" id="shutOff">關(guān)閉</a>
        </div>
        <div class="mask"></div>
    </div>
</body>
</html>

定時器的基本用法

  1. 單次定時器
    var timer = setTimeout(function(){
    alert('hello!');
    }, 3000);
  2. 清除單次定時器
    clearTimeout(timer);
  3. 反復(fù)循環(huán)定時器
    var timer2 = setInterval(function(){
    alert('hi~~~');
    }, 2000);
  4. 清除反復(fù)循環(huán)定時器
    clearInterval(timer2);

定時器動畫

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>定時器動畫</title>
    <style type="text/css">
        .box{
            width: 100px;
            height: 100px;
            background-color: gold;
            position: fixed;
            left: 20px;
            top: 20px;
        }
    </style>
    <script type="text/javascript">
        window.onload = function(){
            var oBox = document.getElementById('box');

            var left = 20;
            //反復(fù)循環(huán)定時器,每30毫秒修改一次盒子的left值
            var timer = setInterval(function(){
                left += 2;
                oBox.style.left = left + 'px';

                //當left值大于700時停止動畫(清除定時器)
                if(left > 700){
                    clearInterval(timer);
                }
            },30);
        }
    </script>
</head>
<body>
    <div class="box" id="box"></div>
</body>
</html>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言:在引用開發(fā)中,我們經(jīng)常需要在頁面中執(zhí)行一些周期性的操作,比如每隔一段時間就執(zhí)行某一固定的操作。而對于這樣的操...
    帥帥噠小白閱讀 5,417評論 1 3
  • 前言:對定時器的小整理。 JS單線程 Javascript語言的執(zhí)行環(huán)境是"單線程"(single thread)...
    一包閱讀 410評論 0 0
  • 從JS執(zhí)行機制說起 瀏覽器(或者說JS引擎)執(zhí)行JS的機制是基于事件循環(huán)。 由于JS是單線程,所以同一時間只能執(zhí)行...
    love2013閱讀 953評論 0 1
  • 1、定時器又稱為延遲器,會在某個時間以后執(zhí)行指定的代碼 語法:Var timer=setTimeout(‘表達式’...
    清風(fēng)沐沐閱讀 408評論 0 0
  • JS定時器/函數(shù)/Math/Date/字符串操作/ 必看:JavaScript 世界萬物誕生記 https://m...
    sponing閱讀 422評論 0 1

友情鏈接更多精彩內(nèi)容