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 相关文章推荐
jQuery学习总结之元素的相对定位和选择器(持续更新)
Apr 26 Javascript
JavaScript常用对象的方法和属性小结
Jan 24 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
Oct 20 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
Feb 03 Javascript
为何JS操作的href都是javascript:void(0);呢
Nov 12 Javascript
详解vue父子组件间传值(props)
Jun 29 Javascript
jQuery中常用动画效果函数知识点整理
Aug 19 jQuery
微信小程序+云开发实现欢迎登录注册
May 24 Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 Javascript
浅析vue中的nextTick
Dec 28 Vue.js
使用JS前端技术实现静态图片局部流动效果
Aug 05 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树的代码,可以嵌套任意层
2006/10/09 PHP
php MsSql server时遇到的中文编码问题
2009/06/11 PHP
php根据日期判断星座的函数分享
2014/02/13 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
PHP实现适用于自定义的验证码类
2016/06/15 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
Array对象方法参考
2006/10/03 Javascript
JavaScript 常用函数库详解
2009/10/21 Javascript
文本框(input)获取焦点(onfocus)时样式改变的示例代码
2014/01/10 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
JS高级运动实例分析
2016/12/20 Javascript
详解用vue.js和laravel实现微信授权登陆
2017/06/23 Javascript
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
2018/01/26 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
vue组件间的参数传递实例详解
2019/04/26 Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
2019/10/31 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
[02:56]《DAC最前线》之国外战队抵达上海备战亚洲邀请赛
2015/01/28 DOTA
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
Python序列循环移位的3种方法推荐
2018/04/09 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
实例详解Matlab 与 Python 的区别
2019/04/26 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
高中生学习生活的自我评价
2013/10/09 职场文书
后勤人员岗位职责
2013/12/17 职场文书
人事助理自荐信
2014/02/02 职场文书
Django中的JWT身份验证的实现
2021/05/07 Python
小程序实现筛子抽奖
2021/05/26 Javascript
用JS创建一个录屏功能
2021/11/11 Javascript
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python