JS延时提示框实现方法详解


Posted in Javascript onNovember 26, 2015

本文实例讲述了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 相关文章推荐
asp 的 分词实现代码
May 24 Javascript
jqgrid 简单学习笔记
May 03 Javascript
javascript屏蔽右键代码
May 15 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
Aug 24 Javascript
jQuery简单获取键盘事件的方法
Jan 22 Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
Mar 08 Javascript
vue动态组件实现选项卡切换效果
Mar 08 Javascript
Vue resource中的GET与POST请求的实例代码
Jul 21 Javascript
JavaScript类的继承操作实例总结
Dec 20 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
Jul 25 jQuery
微信小程序动态设置图片大小的方法
Nov 21 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
Mar 17 Javascript
js使用cookie记录用户名的方法
Nov 26 #Javascript
Bootstrap每天必学之导航
Nov 26 #Javascript
js过滤HTML标签完整实例
Nov 26 #Javascript
使用EVAL处理jqchart jquery 折线图返回数据无效的解决办法
Nov 26 #Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
Nov 26 #Javascript
Bootstrap每天必学之按钮
Nov 26 #Javascript
学习JavaScript设计模式(多态)
Nov 25 #Javascript
You might like
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
详谈phpAdmin修改密码后拒绝访问的问题
2017/04/03 PHP
javascript的事件描述
2006/09/08 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
jquery $.each()使用探讨
2013/09/23 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
vue项目前端知识点整理【收藏】
2019/05/13 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
Python中反射和描述器总结
2018/09/23 Python
浅谈python的dataframe与series的创建方法
2018/11/12 Python
python各层级目录下import方法代码实例
2020/01/20 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
青年创业培训欢迎词
2014/01/10 职场文书
学校十一活动方案
2014/02/01 职场文书
音乐教学随笔感言
2014/02/19 职场文书
司考复习计划
2015/01/19 职场文书