首頁  >  文章  >  web前端  >  javascript提示框實作延遲提示程式碼詳解

javascript提示框實作延遲提示程式碼詳解

伊谢尔伦
伊谢尔伦原創
2017-07-22 10:43:091327瀏覽

提示框功能:當滑鼠指向頭像時,會彈出一個訊息框,滑鼠可移動到訊息框,當滑鼠離開頭像時訊息框消失,當滑鼠離開訊息框時訊息框消失。

實作功能想法:

1、取得元素。
2、當滑鼠指向p1時,p2顯示。
3、當滑鼠離開p1時,使p2延遲0.5秒消失,這樣以便有時間把滑鼠移到p2。
4、當滑鼠指向p2時,p2顯示。因為步驟3設定setTimeout使p2消失,所以把用clearTimeout()把setTimeout清除了就可以實現p2顯示了。
5、當滑鼠離開p2時,使p2延遲0.5秒消失,這樣以便有時間把滑鼠指向p1。
6、步驟2已經設定了滑鼠指向p1,p2就顯示,但由於第5步設定setTimeout使p2消失,所以在第2步加上clearTimeout()把setTimeout清除了就可以實現p2顯示了。

JS程式碼


<script>
window.onload=function()
{
  var op1=document.getElementById(&#39;p1&#39;);
  var op2=document.getElementById(&#39;p2&#39;);
  time=null;
  op1.onmouseover=function()
  {
    clearTimeout(time);
    op2.style.display=&#39;block&#39;;  
  };
  op1.onmouseout=function()
  {
    time=setTimeout(function(){
      op2.style.display=&#39;none&#39;;
    },500);
  };
  op2.onmouseover=function()
  {
    clearTimeout(time);
  };
  op2.onmouseout=function()
  {
    time=setTimeout(function(){
      op2.style.display=&#39;none&#39;;
    },500);
  };
};
</script>

由於程式碼看起來多差不多,可以簡化如下:


<script>
window.onload=function()
{
  var op1=document.getElementById(&#39;p1&#39;);
  var op2=document.getElementById(&#39;p2&#39;);
  time=null;
  op2.onmouseover=op1.onmouseover=function()
  {
    clearTimeout(time);
    op2.style.display=&#39;block&#39;;  
  };
  op2.onmouseout=op1.onmouseout=function()
  {
    time=setTimeout(function(){
      op2.style.display=&#39;none&#39;;
    },500);
  };
};
</script>

HTML、CSS程式碼:


<p id="p1"></p>
<p id="p2"></p>
<style>
#p1{float:left;margin-right:10px;width:50px;height:50px;background:black;}
#p2{display:none;float:left;width:200px;height:200px;background:#0CF;}
</style>

以上是javascript提示框實作延遲提示程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn