javascript实现延时显示提示框特效代码


Posted in Javascript onApril 27, 2016

本文实例讲述了JavaScript使用setTimeout实现延迟弹出警告框的方法。分享给大家供大家参考。具体如下:

先给大家展示一个延迟/定时/强制弹出窗口的JS代码

参数解释:
设置时间:Then.setTime(Then.getTime() + 1*60*60*1000)

mylove/ttan.htm(过渡网页)
ttan.htm中的 http://弹出网页/ 是要弹出的网页

scroll:1(滚动条)
status:1(状态栏)
help:1(帮助按钮)
toolbar=1(工具栏)
resizable:1(是否可以用鼠标拖动改变大小)
dialogWidth:800px(宽度)
dialogHeight:600px(高度)
3000(延迟弹出的时间,单位:毫秒。1秒=1000毫秒)

<!--弹出广告-->
<script language="JavaScript">
function Get(){
var Then = new Date()
Then.setTime(Then.getTime() + 1*60*60*1000)
var cookieString = new String(document.cookie)
var cookieHeader = "Cookie1="
var beginPosition = cookieString.indexOf(cookieHeader)
if (beginPosition != -1){
} else
{ document.cookie = "Cookie1=POPWIN;expires="+ Then.toGMTString()
focusid=setTimeout("focus();window.showModelessDialog('ttan.htm','','scroll:0;status:0;help:0;resizable:0;d
ialogWidth:0px;dialogHeight:0px')",3000)
window.focus();
}
}Get();
</script>
<!--弹出结束-->
ttan.htm的内容:

<script language="javascript">
<!--
window.open("http://弹出网页/");
//-->
</script>
<script LANGUAGE="JavaScript">
<!--
setTimeout('window.close();', 0)
//-->
</script>

可以实现同一IP一定时间内只弹出一次,可以实现延迟弹出,可以实现强制弹出!!

下面的代码执行后点击按钮会延迟弹出一个警告框,主要演示了setTimeout的使用方法

<!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 相关文章推荐
javascript 字符 Escape,encodeURI,encodeURIComponent
Jul 09 Javascript
js中单引号与双引号冲突问题解决方法
Oct 04 Javascript
Bootstrap中的Panel和Table全面解析
Jun 13 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
Dec 17 Javascript
基于jQuery实现滚动刷新效果
Jan 09 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
Jan 13 Javascript
JS实现浏览器打印、打印预览示例
Feb 28 Javascript
JS实现商品筛选功能
Aug 19 Javascript
Javascript中 toFixed四舍六入方法
Aug 21 Javascript
Vue实现导航栏点击当前标签变色功能
Aug 19 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
Sep 18 Javascript
基于element-ui封装表单金额输入框的方法示例
Jan 06 Javascript
JS延时器提示框的应用实例代码解析
Apr 27 #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
You might like
解析php中memcache的应用
2013/06/18 PHP
php json_encode值中大括号与花括号区别
2013/09/30 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
2016/10/08 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
用python读写excel的方法
2014/11/18 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
python模糊图片过滤的方法
2018/12/14 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
python把转列表为集合的方法
2019/06/28 Python
python3.x提取中文的正则表达式示例代码
2019/07/23 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
python 实现屏幕录制示例
2019/12/23 Python
TensorBoard 计算图的查看方式
2020/02/15 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
keras中的backend.clip用法
2020/05/22 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
八年级英语教学反思
2014/01/09 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
河童之夏观后感
2015/06/11 职场文书
2016年重阳节慰问信
2015/12/01 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
golang json数组拼接的实例
2021/04/28 Golang
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript
Nginx静态压缩和代码压缩提高访问速度详解
2022/05/30 Servers