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 字符串切割函数substring的用法说明
Feb 11 Javascript
Jquery遍历checkbox获取选中项value值的方法
Feb 13 Javascript
html文档中的location对象属性理解及常见的用法
Aug 13 Javascript
深入理解JavaScript系列(45):代码复用模式(避免篇)详解
Mar 04 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
Dec 09 Javascript
jQuery实现手机版页面翻页效果的简单实例
Oct 05 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
Dec 15 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
Aug 08 Javascript
vue-router重定向和路由别名的使用讲解
Jan 19 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
微信小程序实现上传照片代码实例解析
Aug 04 Javascript
js实现贪吃蛇游戏(简易版)
Sep 29 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
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
php中addslashes函数与sql防注入
2014/11/17 PHP
php采集自中央气象台范围覆盖全国的天气预报代码实例
2015/01/04 PHP
php安装swoole扩展的方法
2015/03/19 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
PHP设计模式(五)适配器模式Adapter实例详解【结构型】
2020/05/02 PHP
Avengerls vs KG BO3 第二场2.18
2021/03/10 DOTA
js以对象为索引的关联数组
2010/07/04 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
Vue2.0 vue-source jsonp 跨域请求
2017/08/04 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
小程序实现层叠卡片滑动效果
2019/08/26 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
pymongo实现控制mongodb中数字字段做加法的方法
2015/03/26 Python
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
python hbase读取数据发送kafka的方法
2018/12/27 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
东南亚地区最大的购物网站Lazada新加坡站点:Lazada.sg
2016/07/17 全球购物
一年级数学教学反思
2014/02/01 职场文书
销售助理岗位职责
2014/02/21 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
高一课前三分钟演讲稿
2014/09/13 职场文书
建筑横幅标语
2014/10/09 职场文书
三方股东合作协议书
2014/10/28 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
新娘婚礼答谢词
2015/09/29 职场文书
2015年教师党员个人总结
2015/11/24 职场文书