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 相关文章推荐
javascript object array方法使用详解
Dec 03 Javascript
jQuery替换字符串(实例代码)
Nov 13 Javascript
jquery实现聚光灯效果的方法
Feb 06 Javascript
JS动态修改iframe高度和宽度的方法
Apr 01 Javascript
JS实现简单的图书馆享元模式实例
Jun 30 Javascript
js实时获取并显示当前时间的方法
Jul 31 Javascript
angular分页指令操作
Jan 09 Javascript
Angular表格神器ui-grid应用详解
Sep 29 Javascript
JS实现随机生成10个手机号的方法示例
Dec 07 Javascript
简单了解Javscript中兄弟ifream的方法调用
Jun 17 Javascript
Vue路由管理器Vue-router的使用方法详解
Feb 05 Javascript
Vue watch响应数据实现方法解析
Jul 10 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 Mysql编程之高级技巧
2008/08/27 PHP
PHP $_SERVER详解
2009/01/16 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
PHP中读取文件的8种方法和代码实例
2014/08/05 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
RR vs IO BO3 第一场2.13
2021/03/10 DOTA
jquery 学习之二 属性相关
2010/11/23 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
2014/10/14 Javascript
基于JavaScript获取鼠标位置的各种方法
2015/12/16 Javascript
jQuery限制图片大小的方法
2016/05/25 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
2017/01/04 Javascript
详解Javascript中DOM的范围
2017/02/13 Javascript
Vue监听数据对象变化源码
2017/03/09 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
python读取html中指定元素生成excle文件示例
2014/04/03 Python
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
Python使用Scrapy爬取妹子图
2015/05/28 Python
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
基于python socketserver框架全面解析
2017/09/21 Python
Python 数据处理库 pandas 入门教程基本操作
2018/04/19 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
Python 面向对象之封装、继承、多态操作实例分析
2019/11/21 Python
俄罗斯旅游网站:Tripadvisor俄罗斯
2017/03/21 全球购物
教师四风自我剖析材料
2014/09/30 职场文书
《日月潭》教学反思
2016/02/20 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
七个非常实用的Python工具包总结
2021/06/15 Python