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 相关文章推荐
js工具方法弹出蒙版
May 08 Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
May 08 Javascript
javascript为下拉列表动态添加数据项
May 23 Javascript
javascript继承的六大模式小结
Apr 13 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 Javascript
js简单倒计时实现代码
Apr 30 Javascript
jquery过滤特殊字符',防sql注入的实现方法
Aug 17 Javascript
基于JavaScript实现跳转提示页面
Sep 24 Javascript
Bootstrap组合上、下拉框简单实现代码
Mar 06 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
Oct 19 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转成EXE文件
2006/10/09 PHP
php中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
解析:使用php mongodb扩展时 需要注意的事项
2013/06/18 PHP
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
php定时执行任务设置详解
2015/02/06 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
php实现图片缩略图的方法
2016/03/29 PHP
php类的自动加载操作实例详解
2016/09/28 PHP
php str_getcsv把字符串解析为数组的实现方法
2017/04/05 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
jquery向.ashx文件post中文乱码问题的解决方法
2011/03/28 Javascript
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
让table变成exls的示例代码
2014/03/24 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
Vue.js学习之计算属性
2017/01/22 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
python正则表达式re模块详细介绍
2014/05/29 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
python hook监听事件详解
2018/10/25 Python
python3发送邮件需要经过代理服务器的示例代码
2019/07/25 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
python的数学算法函数及公式用法
2020/11/18 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
师范应届生语文教师求职信
2013/10/29 职场文书
大学生村官工作感言
2014/01/10 职场文书
我的中国梦演讲稿初中篇
2014/08/19 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python