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 相关文章推荐
JS 实现图片直接下载示例代码
Jul 22 Javascript
js简单的表格添加行和删除行操作示例
Mar 31 Javascript
document.write的几点使用心得
May 14 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
Aug 11 Javascript
javascript函数自动执行常用方法汇总
Mar 28 Javascript
使用开源工具制作网页验证码的方法
Oct 17 Javascript
JS简单实现数组去重的方法示例
Mar 27 Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 Javascript
你可能不知道的JSON.stringify()详解
Aug 17 Javascript
Angular5.1新功能分享
Dec 21 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 Javascript
基于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
Protoss魔法科技
2020/03/14 星际争霸
获得Google PR值的PHP代码
2007/01/28 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
PHP实现获取文件后缀名的几种常用方法
2015/08/08 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
深入浅析JavaScript函数前面的加号和叹号
2016/07/09 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
jQuery事件详解
2017/02/23 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
2019/04/11 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
如何通过python画loss曲线的方法
2019/06/26 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
对Django url的几种使用方式详解
2019/08/06 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
Qoo10台湾站:亚洲领先的在线市场
2018/05/15 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
大学生个人简历自我评价
2013/11/16 职场文书
学生励志演讲稿
2014/01/06 职场文书
先进事迹报告会感言
2014/01/24 职场文书
电气工程自动化求职信
2014/03/14 职场文书
教师应聘自荐信范文
2014/03/14 职场文书
会计学习心得体会
2014/09/09 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书
导游词之阆中古城
2019/12/23 职场文书
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python