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 相关文章推荐
DD_belatedPNG,IE6下PNG透明解决方案(国外)
Dec 06 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
Mar 01 Javascript
JavaScript 基础篇之运算符、语句(二)
Apr 07 Javascript
浅析js封装和作用域
Jul 09 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
Mar 06 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
js中遍历Map对象的简单实例
Aug 08 Javascript
element el-input directive数字进行控制
Oct 11 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
Apr 18 Javascript
Vue中jsx不完全应用指南小结
Nov 01 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
基于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单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
javascript hashtable实现代码
2009/10/13 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
生成二维码方法汇总
2014/12/26 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
一个简单不报错的summernote 图片上传案例
2016/07/11 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
angularjs中判断ng-repeat是否迭代完的实例
2018/09/12 Javascript
小程序实现左滑删除效果
2019/07/25 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
对Python 语音识别框架详解
2018/12/24 Python
浅析Python3中的对象垃圾收集机制
2019/06/06 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
python列表生成器迭代器实例解析
2019/12/19 Python
pandas-resample按时间聚合实例
2019/12/27 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
python给list排序的简单方法
2020/12/10 Python
利用html5的websocket实现websocket聊天室
2013/12/12 HTML / CSS
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
2015年个人实习工作总结
2015/05/28 职场文书
趣味运动会赞词
2015/07/22 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
Python数据分析之pandas函数详解
2021/04/21 Python
Pandas 稀疏数据结构的实现
2021/07/25 Python
Go语言编译原理之源码调试
2022/08/05 Golang