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

字號(hào):


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