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 相关文章推荐
html数组字符串拼接的最快方法
Sep 16 Javascript
纯JavaScript实现HTML5 Canvas六种特效滤镜示例
Jun 28 Javascript
简单分析javascript面向对象与原型
May 21 Javascript
jQuery实现hover合成事件的方法
Aug 06 Javascript
详解Javascript事件驱动编程
Jan 03 Javascript
AngularJS单选框及多选框实现双向动态绑定
Jan 13 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
Jul 24 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
Nov 28 Javascript
学习使用bootstrap的modal和carousel
Dec 09 Javascript
js字符串与Unicode编码互相转换
May 17 Javascript
d3.js实现图形缩放平移
Dec 19 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
Mar 06 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中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
javascript编程起步(第四课)
2007/01/10 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
jquery+正则实现统一的表单验证
2015/09/20 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
jquery实现tab选项卡切换效果(悬停、下方横线动画位移)
2017/05/05 jQuery
Angular5.1新功能分享
2017/12/21 Javascript
react中使用swiper的具体方法
2018/05/15 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
vue 解决移动端弹出键盘导致页面fixed布局错乱的问题
2019/11/06 Javascript
taro小程序添加骨架屏的实现代码
2019/11/15 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
[41:56]Spirit vs Liquid Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
python网络编程学习笔记(一)
2014/06/09 Python
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
阿根廷在线宠物商店:Puppis
2018/03/23 全球购物
美国综合购物商城:UnbeatableSale.com
2018/11/28 全球购物
兰蔻俄罗斯官方网站:Lancome俄罗斯
2019/12/09 全球购物
桥梁与隧道工程专业本科生求职信
2013/10/08 职场文书
机械电子工程专业推荐信范文
2013/11/20 职场文书
学习党章思想汇报
2014/01/07 职场文书
先进个人主要事迹范文
2015/11/04 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
Python何绘制带有背景色块的折线图
2022/04/23 Python