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 function调用时的参数检测常用办法
Feb 26 Javascript
用Js实现的动态增加表格示例自己写的
Oct 21 Javascript
基于jquery实现的文字淡入淡出效果
Nov 14 Javascript
Javascript调用函数方法的几种方式介绍
Mar 20 Javascript
javascript清空table表格的方法
May 14 Javascript
跟我学习javascript的this关键字
May 28 Javascript
基于jquery实现瀑布流布局
Jun 28 Javascript
javascript的BOM
May 03 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
JS实现验证码倒计时的注册页面
Jan 02 Javascript
小程序云开发教程如何使用云函数实现点赞功能
May 18 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读MYSQL中文乱码的解决方法
2006/12/17 PHP
php中http_build_query 的一个问题
2012/03/25 PHP
php制作动态随机验证码
2015/02/12 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
js 数组操作代码集锦
2009/04/28 Javascript
JS 文字符串转换unicode编码函数
2009/05/30 Javascript
javascript 24小时弹出一次的代码(利用cookies)
2009/09/03 Javascript
window.location.hash 使用说明
2010/11/08 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
js使用DOM设置单选按钮、复选框及下拉菜单的方法
2015/01/20 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
基于LayUI实现前端分页功能的方法
2017/07/22 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
python 正则式使用心得
2009/05/07 Python
仅利用30行Python代码来展示X算法
2015/04/01 Python
python实现的jpg格式图片修复代码
2015/04/21 Python
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
python实现FTP服务器服务的方法
2017/04/11 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
Python面向对象程序设计示例小结
2019/01/30 Python
opencv与numpy的图像基本操作
2019/03/08 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
大学新闻系求职信
2014/06/03 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
交通事故被告答辩状
2015/05/22 职场文书
应用最多的公文《通知》如何写?
2019/04/02 职场文书
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫