javascript實現(xiàn)延時顯示提示框特效代碼

字號:


    本文給大家分享的是javascript通過setTimeout實現(xiàn)延時顯示提示框的特效代碼,效果非常棒,這里推薦給大家
    本文實例講述了JavaScript使用setTimeout實現(xiàn)延遲彈出警告框的方法。分享給大家供大家參考。具體如下:
    先給大家展示一個延遲/定時/強制彈出窗口的JS代碼
    參數(shù)解釋:
    設(shè)置時間:Then.setTime(Then.getTime() + 1*60*60*1000)
    mylove/ttan.htm(過渡網(wǎng)頁)
    ttan.htm中的 http://彈出網(wǎng)頁/ 是要彈出的網(wǎng)頁
    scroll:1(滾動條)
    status:1(狀態(tài)欄)
    help:1(幫助按鈕)
    toolbar=1(工具欄)
    resizable:1(是否可以用鼠標拖動改變大小)
    dialogWidth:800px(寬度)
    dialogHeight:600px(高度)
    3000(延遲彈出的時間,單位:毫秒。1秒=1000毫秒)
    <!--彈出廣告-->
    <script language="JavaScript">
    function Get(){
    var Then = new Date()
    Then.setTime(Then.getTime() + 1*60*60*1000)
    var cookieString = new String(document.cookie)
    var cookieHeader = "Cookie1="
    var beginPosition = cookieString.indexOf(cookieHeader)
    if (beginPosition != -1){
    } else
    { document.cookie = "Cookie1=POPWIN;expires="+ Then.toGMTString()
    focusid=setTimeout("focus();window.showModelessDialog('ttan.htm','','scroll:0;status:0;help:0;resizable:0;d
    ialogWidth:0px;dialogHeight:0px')",3000)
    window.focus();
    }
    }Get();
    </script>
    <!--彈出結(jié)束-->
    ttan.htm的內(nèi)容:
    <script language="javascript">
    <!--
    window.open("http://彈出網(wǎng)頁/");
    //-->
    </script>
    <script LANGUAGE="JavaScript">
    <!--
    setTimeout('window.close();', 0)
    //-->
    </script>
    可以實現(xiàn)同一IP一定時間內(nèi)只彈出一次,可以實現(xiàn)延遲彈出,可以實現(xiàn)強制彈出?。?BR>    下面的代碼執(zhí)行后點擊按鈕會延遲彈出一個警告框,主要演示了setTimeout的使用方法
    <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
     <title>延時顯示提示框</title>
     <style>
      #div1 {
       float: left;
       width: 60px;
       height: 60px;
       background-color: aqua;
      }
      #div2 {
       position: relative;
       float: left;
       margin: 0 10px;
       width: 200px;
       height: 200px;
       background-color: #cccccc;
       display: none;
      }
     </style>
     <script>
      window.onload = function () {
       var oDiv1 = document.getElementById('div1');
       var oDiv2 = document.getElementById('div2');
       var timer = null;
    //   oDiv1.onmouseover = function () {
    //    clearTimeout(timer);
    //    oDiv2.style.display = 'block';  //鼠標移入div1時顯示div2
    //   };
    //
    //   oDiv1.onmouseout = function () {
    //    timer = setTimeout(function () {
    //     oDiv2.style.display = 'none';  //鼠標移除div1時隱藏div2
    //    }, 500);  //為了從div1移入div2,所以移出div1時div2隱藏應(yīng)該有一個延時設(shè)置
    //   };
    //
    //   oDiv2.onmouseover = function () {
    //    clearTimeout(timer);  //清除延時器設(shè)置,當(dāng)鼠標移入div2時,div2應(yīng)當(dāng)顯示
    //   };
    //
    //   oDiv2.onmouseout = function () {
    //    timer = setTimeout(function () {
    //     oDiv2.style.display = 'none';  //當(dāng)鼠標移出div2時,div2應(yīng)當(dāng)隱藏
    //    }, 500);   //當(dāng)鼠標移出div2并移入div1時,div2會閃爍一下再顯示,設(shè)置一個延時,清除閃爍的效果;
    //    // 但是設(shè)置延時器之后,鼠標移入div1時,div2卻隱藏了,原因是setTimeout,
    //    // 應(yīng)當(dāng)清除延時器,在oDiv1.onmouseover事件中添加,清除延時器的代碼
    //   };
    //   由于這四個事件中代碼兩兩對應(yīng)地相同或相似,可以做如下簡化處理:
       oDiv1.onmouseover = oDiv2.onmouseover = function () {
        clearTimeout(timer);
        oDiv2.style.display = 'block';
        /* 鼠標移入div1時顯示div2,雖然oDiv2.onmouseover事件中沒有寫oDiv2.style.display = 'block';
         但是實際上oDiv2是'block'狀態(tài),多寫一句代碼沒有實質(zhì)性影響*/
       };
       oDiv1.onmouseout = oDiv2.onmouseout = function () {
        timer = setTimeout(function () {
         oDiv2.style.display = 'none';  //鼠標移除div1時隱藏div2
        }, 500);  //為了從div1移入div2,所以移出div1時div2隱藏應(yīng)該有一個延時設(shè)置
       };
    //   簡化后的代碼執(zhí)行結(jié)果跟前面的代碼效果完全一致.
      }
     </script>
    </head>
    <body>
    <h2>延時提示框</h2>
    <div id="div1"></div>
    <div id="div2"></div>
    </body>
    </html>
    延時提示框編寫時需要注意的點都記錄在注釋當(dāng)中,逐個對照注意一下,這個功能看過視頻教程之后實現(xiàn)起來比較順暢,原因是在編寫代碼之前對所需功能做了一個列表按照列表一一實現(xiàn),出現(xiàn)問題再進行相應(yīng)的調(diào)整比上來直接寫代碼強多了。