提示框功能:當滑鼠指向頭像時,會彈出一個訊息框,滑鼠可移動到訊息框,當滑鼠離開頭像時訊息框消失,當滑鼠離開訊息框時訊息框消失。
實作功能想法:
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('p1'); var op2=document.getElementById('p2'); time=null; op1.onmouseover=function() { clearTimeout(time); op2.style.display='block'; }; op1.onmouseout=function() { time=setTimeout(function(){ op2.style.display='none'; },500); }; op2.onmouseover=function() { clearTimeout(time); }; op2.onmouseout=function() { time=setTimeout(function(){ op2.style.display='none'; },500); }; }; </script>
由於程式碼看起來多差不多,可以簡化如下:
<script> window.onload=function() { var op1=document.getElementById('p1'); var op2=document.getElementById('p2'); time=null; op2.onmouseover=op1.onmouseover=function() { clearTimeout(time); op2.style.display='block'; }; op2.onmouseout=op1.onmouseout=function() { time=setTimeout(function(){ op2.style.display='none'; },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中文網其他相關文章!