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 相关文章推荐
使用jquery实现图文切换效果另加特效
Jan 20 Javascript
jQuery的animate函数学习记录
Aug 08 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
Feb 27 Javascript
javascript中$(function() {});写与不写有哪些区别
Aug 10 Javascript
Dojo获取下拉框的文本和值实例代码
May 27 Javascript
Vue.js实现表格动态增加删除的方法(附源码下载)
Jan 20 Javascript
Vue 2.x教程之基础API
Mar 06 Javascript
vue element项目引入icon图标的方法
Jun 06 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
Oct 26 Javascript
JavaScript实现Tab选项卡切换
Feb 13 Javascript
Node.js API详解之 os模块用法实例分析
May 06 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
Nov 23 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
用PHP和MySQL保存和输出图片
2006/10/09 PHP
PHP 简单数组排序实现代码
2009/08/05 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
php数组一对一替换实现代码
2012/08/31 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
JQuery优缺点分析说明
2010/06/09 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
JavaScript:new 一个函数和直接调用函数的区别分析
2013/07/10 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
For循环中分号隔开的3部分的执行顺序探讨
2014/05/27 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
简介JavaScript中substring()方法的使用
2015/06/06 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
2015/12/31 Javascript
浅析$.getJSON异步请求和同步请求
2016/06/06 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
vue实现动态显示与隐藏底部导航的方法分析
2019/02/11 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
python3编写C/S网络程序实例教程
2014/08/25 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
2017/12/20 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
Django框架多表查询实例分析
2018/07/04 Python
python中的itertools的使用详解
2020/01/13 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
医学毕业生自我鉴定
2013/10/30 职场文书
实习鉴定范文
2013/12/19 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
唐山大地震的观后感
2015/06/05 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
Redis数据同步之redis shake的实现方法
2022/04/21 Redis