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 相关文章推荐
offsetHeight在OnLoad中获取为0的现象
Jul 22 Javascript
顶部缓冲下拉菜单导航特效的JS代码
Aug 27 Javascript
jQuery取id有.的值的方法
May 21 Javascript
详解javascript传统方法实现异步校验
Jan 22 Javascript
Js获取图片原始宽高的实现代码
May 17 Javascript
js利用正则表达式检验输入内容是否为网址
Jul 05 Javascript
Zabbix添加Node.js监控的方法
Oct 20 Javascript
浅谈$_FILES数组为空的原因
Feb 16 Javascript
Vue组件之Tooltip的示例代码
Oct 18 Javascript
详解Nuxt.js部署及踩过的坑
Aug 07 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
Sep 08 Javascript
echarts.js 动态生成多个图表 使用vue封装组件操作
Jul 19 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
Zend的Registry机制的使用说明
2013/05/02 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
JQuery 无废话系列教程(二) jquery实战篇上
2009/06/23 Javascript
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
jquery Mobile入门—多页面切换示例学习
2013/01/08 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
使用taro开发微信小程序遇到的坑总结
2019/04/08 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
js实现div色块碰撞
2020/01/16 Javascript
JavaScript this使用方法图解
2020/02/04 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
python抓取网页中的图片示例
2014/02/28 Python
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
python读写json文件的简单实现
2017/04/11 Python
浅析Python函数式编程
2018/10/06 Python
python 将大文件切分为多个小文件的实例
2019/01/14 Python
详解Python利用random生成一个列表内的随机数
2019/08/21 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
Python Matplotlib绘图基础知识代码解析
2020/08/31 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
违反学校规定检讨书
2014/01/18 职场文书
八项规定整改措施
2014/02/12 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
公司募捐倡议书
2014/05/14 职场文书