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调用WebService的示例
Apr 07 Javascript
Mootools 1.2教程 设置和获取样式表属性
Sep 15 Javascript
基于jquery实现状态限定编辑的代码
Feb 11 Javascript
jquery $.each()使用探讨
Sep 23 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
Jan 13 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
Jan 28 Javascript
javascript先序遍历DOM树的方法
Feb 27 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
Apr 17 Javascript
浅谈js内置对象Math的属性和方法(推荐)
Sep 19 Javascript
AngularJS指令与控制器之间的交互功能示例
Dec 14 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
May 07 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 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 str_pad 函数用法简介
2009/07/11 PHP
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
php实现简单文件下载的方法
2015/01/30 PHP
php中执行系统命令的方法
2015/03/21 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
Laravel5.7 数据库操作迁移的实现方法
2019/04/12 PHP
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
js实现图片跟随鼠标移动效果
2019/10/16 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
python轻松实现代码编码格式转换
2015/03/26 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
python 使用opencv 把视频分割成图片示例
2019/12/12 Python
python的reverse函数翻转结果为None的问题
2020/05/11 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
用React加CSS3实现微信拆红包动画效果
2017/03/13 HTML / CSS
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
canvas里面如何基于随机点绘制一个多边形的方法
2018/06/13 HTML / CSS
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
高三高考决心书
2014/03/11 职场文书
房屋出租协议书范本(标准版)
2014/09/24 职场文书
表扬稿范文
2015/01/17 职场文书
文言文辞职信
2015/02/28 职场文书
疾病证明书
2015/06/19 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书
Python初学者必备的文件读写指南
2021/06/23 Python
Python+Tkinter打造签名设计工具
2022/04/01 Python
vue实现拖拽交换位置
2022/04/07 Vue.js
分析MySQL优化 index merge 后引起的死锁
2022/04/19 MySQL