JS延时器提示框的应用实例代码解析


Posted in Javascript onApril 27, 2016

废话不多说了,直接给大家贴代码了,具体代码如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>延时显示提示框</title>
<style>
#div1 {
float: left;
width: 60px;
height: 60px;
background-color: aqua;
}
#div2 {
position: relative;
float: left;
margin: 0 10px;
width: 200px;
height: 200px;
background-color: #cccccc;
display: none;
}
</style>
<script>
window.onload = function () {
var oDiv1 = document.getElementById('div1');
var oDiv2 = document.getElementById('div2');
var timer = null;
// oDiv1.onmouseover = function () {
// clearTimeout(timer);
// oDiv2.style.display = 'block'; //鼠标移入div1时显示div2
// };
//
// oDiv1.onmouseout = function () {
// timer = setTimeout(function () {
// oDiv2.style.display = 'none'; //鼠标移除div1时隐藏div2
// }, 500); //为了从div1移入div2,所以移出div1时div2隐藏应该有一个延时设置
// };
//
// oDiv2.onmouseover = function () {
// clearTimeout(timer); //清除延时器设置,当鼠标移入div2时,div2应当显示
// };
//
// oDiv2.onmouseout = function () {
// timer = setTimeout(function () {
// oDiv2.style.display = 'none'; //当鼠标移出div2时,div2应当隐藏
// }, 500); //当鼠标移出div2并移入div1时,div2会闪烁一下再显示,设置一个延时,清除闪烁的效果;
// // 但是设置延时器之后,鼠标移入div1时,div2却隐藏了,原因是setTimeout,
// // 应当清除延时器,在oDiv1.onmouseover事件中添加,清除延时器的代码
// };
// 由于这四个事件中代码两两对应地相同或相似,可以做如下简化处理:
oDiv1.onmouseover = oDiv2.onmouseover = function () {
clearTimeout(timer);
oDiv2.style.display = 'block';
/* 鼠标移入div1时显示div2,虽然oDiv2.onmouseover事件中没有写oDiv2.style.display = 'block';
但是实际上oDiv2是'block'状态,多写一句代码没有实质性影响*/
};
oDiv1.onmouseout = oDiv2.onmouseout = function () {
timer = setTimeout(function () {
oDiv2.style.display = 'none'; //鼠标移除div1时隐藏div2
}, 500); //为了从div1移入div2,所以移出div1时div2隐藏应该有一个延时设置
};
// 简化后的代码执行结果跟前面的代码效果完全一致.
}
</script>
</head>
<body>
<h2>延时提示框</h2>
<div id="div1"></div>
<div id="div2"></div>
</body>
</html>

延时提示框编写时需要注意的点都记录在注释当中,逐个对照注意一下,这个功能看过视频教程之后实现起来比较顺畅,原因是在编写代码之前对所需功能做了一个列表按照列表一一实现,出现问题再进行相应的调整比上来直接写代码强多了。

Javascript 相关文章推荐
jQuery使用手册之二 DOM操作
Mar 24 Javascript
jQuery的.live()和.die() 使用介绍
Sep 10 Javascript
调试Node.JS的辅助工具(NodeWatcher)
Jan 04 Javascript
深入解析contentWindow, contentDocument
Jul 04 Javascript
jQuery中parent()方法用法实例
Jan 07 Javascript
js中日期的加减法
May 06 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
May 05 Javascript
Vue.js每天必学之组件与组件间的通信
Sep 08 Javascript
jQuery ajax调用webservice注意事项
Oct 08 jQuery
基于js文件加载优化(详解)
Jan 03 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
Dec 06 jQuery
JQuery基于FormData异步提交数据文件
Sep 01 jQuery
基于JS实现Android,iOS一个手势动画效果
Apr 27 #Javascript
requireJS使用指南
Apr 27 #Javascript
vue,angular,avalon这三种MVVM框架优缺点
Apr 27 #Javascript
浏览器兼容的JS写法总结
Apr 27 #Javascript
Vue.js基础知识汇总
Apr 27 #Javascript
JS onkeypress兼容性写法详解
Apr 27 #Javascript
使用vue.js开发时一些注意事项
Apr 27 #Javascript
You might like
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
JavaScript学习笔记之Cookie对象
2015/01/22 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
redux.js详解及基本使用
2019/05/24 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
2020/06/26 Javascript
python使用PyGame模块播放声音的方法
2015/05/20 Python
Python 含参构造函数实例详解
2017/05/25 Python
Python 多核并行计算的示例代码
2017/11/07 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
关于Keras模型可视化教程及关键问题的解决
2020/01/24 Python
python异常处理try except过程解析
2020/02/03 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
璀璨的珍珠、密钉和个性化珠宝:Lily & Roo
2021/01/21 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
教师实习期自我鉴定
2013/10/06 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
民主生活会汇报材料
2014/12/15 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
教师师德承诺书2016
2016/03/25 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript