本文實例講述了JS延時提示框實現方法。分享給大家供大家參考,具體如下:
提示框功能:當鼠標指向頭像時,彈出一個信息框,鼠標可移動到信息框,當鼠標離開頭像時信息框消失,當鼠標離開信息框時信息框消失。
實現功能思路:
1、獲取元素。
2、當鼠標指向Div1時,Div2顯示。
3、當鼠標離開Div1時,使Div2延遲0.5秒消失,這樣以便有時間把鼠標移到Div2。
4、當鼠標指向Div2時,Div2顯示。因為第3步設置setTimeout使Div2消失,所以把用clearTimeout()把setTimeout清除了就可以實現Div2顯示了。
5、當鼠標離開Div2時,使Div2延遲0.5秒消失,這樣以便有時間把鼠標指向Div1。
6、第2步已經設置了鼠標指向Div1,Div2就顯示,但由於第5步設置setTimeout使Div2消失,所以在第2步加上clearTimeout()把setTimeout清除了就可以實現Div2顯示了。
JS代碼:
<script> window.onload=function() { var oDiv1=document.getElementById('div1'); var oDiv2=document.getElementById('div2'); time=null; oDiv1.onmouseover=function() { clearTimeout(time); oDiv2.style.display='block'; }; oDiv1.onmouseout=function() { time=setTimeout(function(){ oDiv2.style.display='none'; },500); }; oDiv2.onmouseover=function() { clearTimeout(time); }; oDiv2.onmouseout=function() { time=setTimeout(function(){ oDiv2.style.display='none'; },500); }; }; </script>
由於代碼看起來多差不多,可以簡化如下:
<script> window.onload=function() { var oDiv1=document.getElementById('div1'); var oDiv2=document.getElementById('div2'); time=null; oDiv2.onmouseover=oDiv1.onmouseover=function() { clearTimeout(time); oDiv2.style.display='block'; }; oDiv2.onmouseout=oDiv1.onmouseout=function() { time=setTimeout(function(){ oDiv2.style.display='none'; },500); }; }; </script>
HTML、CSS代碼:
<div id="div1"></div> <div id="div2"></div> <style> #div1{float:left;margin-right:10px;width:50px;height:50px;background:black;} #div2{display:none;float:left;width:200px;height:200px;background:#0CF;} </style>
希望本文所述對大家JavaScript程序設計有所幫助。