DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> javascript實現延時顯示提示框特效代碼
javascript實現延時顯示提示框特效代碼
編輯:關於JavaScript     

本文實例講述了JavaScript使用setTimeout實現延遲彈出警告框的方法。分享給大家供大家參考。具體如下:

先給大家展示一個延遲/定時/強制彈出窗口的JS代碼

參數解釋:
設置時間:Then.setTime(Then.getTime() + 1*60*60*1000)

mylove/ttan.htm(過渡網頁)
ttan.htm中的 http://彈出網頁/ 是要彈出的網頁

scroll:1(滾動條)
status:1(狀態欄)
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>
<!--彈出結束-->
  ttan.htm的內容:

<script language="javascript">
<!--
window.open("http://彈出網頁/");
//-->
</script>
<script LANGUAGE="JavaScript">
<!--
setTimeout('window.close();', 0)
//-->
</script>
  可以實現同一IP一定時間內只彈出一次,可以實現延遲彈出,可以實現強制彈出!!

下面的代碼執行後點擊按鈕會延遲彈出一個警告框,主要演示了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隱藏應該有一個延時設置
//   };
//
//   oDiv2.onmouseover = function () {
//    clearTimeout(timer);  //清除延時器設置,當鼠標移入div2時,div2應當顯示
//   };
//
//   oDiv2.onmouseout = function () {
//    timer = setTimeout(function () {
//     oDiv2.style.display = 'none';  //當鼠標移出div2時,div2應當隱藏
//    }, 500);   //當鼠標移出div2並移入div1時,div2會閃爍一下再顯示,設置一個延時,清除閃爍的效果;
//    // 但是設置延時器之後,鼠標移入div1時,div2卻隱藏了,原因是setTimeout,
//    // 應當清除延時器,在oDiv1.onmouseover事件中添加,清除延時器的代碼
//   };


//   由於這四個事件中代碼兩兩對應地相同或相似,可以做如下簡化處理:

   oDiv1.onmouseover = oDiv2.onmouseover = function () {
    clearTimeout(timer);
    oDiv2.style.display = 'block';
    /* 鼠標移入div1時顯示div2,雖然oDiv2.onmouseover事件中沒有寫oDiv2.style.display = 'block';
     但是實際上oDiv2是'block'狀態,多寫一句代碼沒有實質性影響*/
   };


   oDiv1.onmouseout = oDiv2.onmouseout = function () {
    timer = setTimeout(function () {
     oDiv2.style.display = 'none';  //鼠標移除div1時隱藏div2
    }, 500);  //為了從div1移入div2,所以移出div1時div2隱藏應該有一個延時設置
   };
//   簡化後的代碼執行結果跟前面的代碼效果完全一致.
  }
 </script>
</head>
<body>
<h2>延時提示框</h2>
<div id="div1"></div>
<div id="div2"></div>
</body>
</html>

延時提示框編寫時需要注意的點都記錄在注釋當中,逐個對照注意一下,這個功能看過視頻教程之後實現起來比較順暢,原因是在編寫代碼之前對所需功能做了一個列表按照列表一一實現,出現問題再進行相應的調整比上來直接寫代碼強多了。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved