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 Select操作方法集合脚本之家特别版
May 17 Javascript
循环 vs 递归浅谈
Feb 28 Javascript
JS的document.all函数使用示例
Dec 30 Javascript
js模拟淘宝网的多级选择菜单实现方法
Aug 18 Javascript
JS Ajax请求如何防止重复提交
Jun 13 Javascript
jquery实现百叶窗效果
Jan 12 Javascript
vue中的非父子间的通讯问题简单的实例代码
Jul 19 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 Javascript
基于JavaScript实现幸运抽奖页面
Jul 05 Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 Javascript
layui文件上传控件带更改后数据传值的方法
Sep 23 Javascript
解决vue v-for src 图片路径问题 404
Nov 12 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 简单数组排序实现代码
2009/08/05 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP去除空数组且数组键名重置的讲解
2019/02/28 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
vue mvvm数据响应实现
2020/11/11 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
Python 限制线程的最大数量的方法(Semaphore)
2019/02/22 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
python requests抓取one推送文字和图片代码实例
2019/11/04 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
python绘图模块之利用turtle画图
2021/02/12 Python
CSS3 2D模拟实现摩天轮旋转效果
2016/11/16 HTML / CSS
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
车间副主任岗位职责
2013/12/24 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
工作保证书怎么写
2015/02/28 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
2015年乡镇组织委员工作总结
2015/10/23 职场文书
队列队形口号
2015/12/25 职场文书
导游词之江南周庄
2019/12/06 职场文书
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
React 并发功能体验(前端的并发模式)
2021/07/01 Javascript
解决xampp安装后Apache无法启动
2022/03/21 Servers