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基础第一章 JavaScript与用户端
Jul 22 Javascript
jquery和ajax的关系详细介绍
Nov 29 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
在JavaScript中重写jQuery对象的方法实例教程
Aug 25 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
Aug 11 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 Javascript
webpack4简单入门实例
Sep 06 Javascript
vue微信分享到朋友圈 vue微信发送给好友
Nov 28 Javascript
javascript实现日历效果
Jun 17 Javascript
vue全局使用axios的操作
Sep 08 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
晶体管来复再生式二管收音机
2021/03/02 无线电
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
js弹出div并显示遮罩层
2014/02/12 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
AngularJS中的模块详解
2015/01/29 Javascript
jQuery实现鼠标划过添加和删除class的方法
2015/06/26 Javascript
JavaScript运动减速效果实例分析
2015/08/04 Javascript
jQuery过滤选择器用法示例
2016/09/12 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
2016/12/20 Javascript
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
2018/12/06 NodeJs
基于layui框架响应式布局的一些使用详解
2019/09/16 Javascript
Python实现删除文件中含“指定内容”的行示例
2017/06/09 Python
浅析Python中return和finally共同挖的坑
2017/08/18 Python
jupyter notebook引用from pyecharts.charts import Bar运行报错
2020/04/23 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
使用python实现多维数据降维操作
2020/02/24 Python
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
可以使用抽象函数重写基类中的虚函数吗
2013/06/02 面试题
管理失职检讨书
2014/02/12 职场文书
外语系大学生自荐信范文
2014/03/01 职场文书
关于安全的标语
2014/06/10 职场文书
校园会短篇的广播稿
2014/10/21 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
茶花女读书笔记
2015/06/29 职场文书
python保存大型 .mat 数据文件报错超出 IO 限制的操作
2021/05/10 Python
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸