Js学习之路八 --- 延时提示框
来源:互联网 发布:wifi网络测试 编辑:程序博客网 时间:2024/06/10 00:25
延时提示框在很多网站和软件中都有使用,比如qq界面,将鼠标放到好友头像或者自己头像上会出现好友的名片,还有qq天气,移到上面就会出现天气详情。
具体效果请大家自己试验下哈!
延时提示框的实现原理中有两个主要的点:鼠标事件、延时触发 onmouseover、onmouseout,setTimeout
在此我要实现这样的功能:有两个div:红色div(显示) 蓝色div(隐藏) 。当鼠标移到红色div上的时候 蓝色div出现;从红色div上移走后,鼠标蓝色div过一秒才消失。但从红色div移到蓝色div上 蓝色div不消失;从两个div上都移走的时候 蓝色div延时消失。
下面将代码贴出:
<!DOCTYPE html><html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <meta name="author" content="zsh"> <meta name="keywords" content=""> <meta name="description" content=""> <title>延时提示框</title> <style type="text/css"> div{float:left; margin: 10px;} #div1{width: 50px;height: 50px;background: red;} #div2{width: 200px;height: 100px;background: blue; display: none;} </style> </head> <body> <div id="div1"></div> <div id="div2"></div> </body> <script type="text/javascript"> window.onload = function(){ var oDiv1 = document.getElementById('div1'); var oDiv2 = document.getElementById('div2'); var timer = null; /**此函数功能:鼠标放到红色div上 蓝色div显示**/ oDiv1.onmouseover = function(){ clearTimeout(timer); //清理 oDiv2.onmouseout中的timer oDiv2.style.display = 'block' ; } /**此函数功能:鼠标放从红色div上移除 蓝色div消失**/ oDiv1.onmouseout = function(){ timer = setTimeout(function(){ oDiv2.style.display = 'none' ; },1000); //延时效果:1000毫秒后 才消失 } /**此函数功能:蓝色div显示出来后,鼠标放到蓝色div上 蓝色div不消失**/ oDiv2.onmouseover = function(){ clearTimeout(timer); } /**此函数功能:蓝色div显示出来后,鼠标从蓝色div上移除 蓝色div消失**/ oDiv2.onmouseout = function(){ timer = setTimeout(function(){ oDiv2.style.display = 'none' ; },1000); } } </script></html>
以上js代码可作简化处理,合并函数:
<script type="text/javascript"> window.onload = function(){ var oDiv1 = document.getElementById('div1'); var oDiv2 = document.getElementById('div2'); var timer = null; oDiv2.onmouseover = oDiv1.onmouseover = function(){ clearTimeout(timer); oDiv2.style.display = 'block' ; } oDiv2.onmouseout = oDiv1.onmouseout = function(){ timer = setTimeout(function(){ oDiv2.style.display = 'none' ; },1000); //延时效果:1000毫秒后 才消失 } } </script>
阅读全文
0 0
- Js学习之路八 --- 延时提示框
- js延时提示框
- JS延时提示框
- js延时提示框
- 初探js特效魅力之延时提示框07
- js 小实例(时钟、延时提示框)
- js笔记(9)之定时器&&数字时钟&&延时提示框
- Js学习之路一 --- 鼠标提示框
- 延时提示框
- javascript 延时提示框
- 延时提示框
- 延时提示框
- 延时提示框
- 延时提示框
- JavaScript-定时器的使用之延时提示框
- 延时提示框本质代码
- Bootstrap学习js插件篇之提示框
- JavaScript学习之路<八>
- 国庆清北刷题冲刺班 Day3 下午
- javascript插入before(),after()新DOM方法
- android opencv抠图
- 1.6.Qt .cpp/.h/.ui/.pro内容详解
- Linux下把在特定路径下执行的命令转变成任何目录都可以执行的问题
- Js学习之路八 --- 延时提示框
- 人民币兑美元料宽幅震荡
- netstat无法显示PID或进程名
- logstash-input-jdbc插件配置细节
- java获取本机IP,系统随机分配端口号,获取当前线程ID
- jsp页面引入(引入其他jsp页面)三种方式
- JS —— 跨域问题全解与jsonp 原理理解
- zookeeper介绍、数据模型、原理、应用场景
- linux文件完整性校验