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实现鼠标滑过文字链接色彩变化的效果
May 06 Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 Javascript
js从外部获取图片的实现方法
Aug 05 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
Sep 20 Javascript
基于JavaScript实现前端文件的断点续传
Oct 17 Javascript
jq stop()和:is(:animated)的用法及区别(详解)
Feb 12 Javascript
微信小程序 后台登录(非微信账号)实例详解
Mar 31 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
Sep 14 Javascript
JS重学系列之聊聊new操作符
Mar 04 Javascript
IE11下CKEditor在Bootstrap Modal中下拉问题的解决
Sep 25 Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 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
php微信开发之关注事件
2018/06/14 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
jquery ui对话框实例代码
2013/05/10 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
2013/11/23 Javascript
jQuery取得select选择的文本与值的示例
2013/12/09 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
2015/08/25 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
如何在JavaScript中谨慎使用代码注释
2019/06/21 Javascript
NodeJs crypto加密制作token的实现代码
2019/11/15 NodeJs
uniapp电商小程序实现订单30分钟倒计时
2020/11/01 Javascript
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
Django中对数据查询结果进行排序的方法
2015/07/17 Python
python多进程实现文件下载传输功能
2018/07/28 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
python交互模式基础知识点学习
2020/06/18 Python
用python读取xlsx文件
2020/12/17 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
一份Java笔试题
2012/02/21 面试题
哪些情况下不应该使用索引
2015/07/20 面试题
班级德育工作实施方案
2014/02/21 职场文书
高一新生军训感言
2014/03/02 职场文书
学校开学标语
2014/10/06 职场文书
担保书格式
2015/01/20 职场文书
2016新年晚会开场白
2015/12/03 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
Python内置的数据类型及使用方法
2022/04/13 Python