JS延时提示框实现方法详解
本文实例讲述了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程序设计有所帮助。
学习JavaScript设计模式(接口)
1、接口概述1)、什么是接口?接口是提供了一种用以说明一个对象应该具有哪些方法的手段。尽管它可以表明这些方法的语义,但它并不规定这些方法
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
本文实例讲述了JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果。分享给大家供大家参考,具体如下:思路:1、首先用把密码框用txt暂
学习JavaScript设计模式(封装)
在JavaScript中,并没有对抽象类和接口的支持。JavaScript本身也是一门弱类型语言。在封装类型方面,JavaScript没有能力,也没有必要做得更多。对于JavaScri
标签:鼠标,当鼠标,接口,信息,方法