JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)


Posted in Javascript onFebruary 26, 2016

废话不多说了,直接给大家贴代码了。

// 每隔五秒定时刷新当前窗口
setTimeout("self.location.reload();",5000);
//js 定时关闭窗口(ie和FF中测试过)
//6秒后自动关闭当前窗口
setTimeout("window.opener=null;window.close()",6000);

下面给大家介绍下javascript定时器使用

使用定时器实现JavaScript的延期执行或重复执行 window对象提供了两个方法来实现定时器的效果,分别是

window.setTimeout()和window.setInterval。其中前者可以使一段代码在指定时间后运行;而后者则可以使一段代码每过指定时间就运行一次。 它们的原型如下: window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds); 其中expression可以是字符串,也可以是函数名。是字符串的时候可以带参数,函数名不能带参数,如果带上参数就直接执行函数了,不会延时。

function hello (){ 
console.log('I am dada'); //alert('I am ' + name);
//setTimeout(arguments.callee,2000); 
} setTimeout(hello,5000);//5秒后执行 setTimeout('hello()',3000);//3秒后执行
setTimeout(hello(),8000);//立刻执行

第一种情况是函数名,但是带不了参数

第二种情况是字符串,可执行的js代码,可以带参数,但是性能上比函数名差

第三种是调用函数,直接执行

所以如果想要穿参数,但是又不想通过字符串的形式调用,可以自己来写一个方法:

function _hello(_name){ 
return function(){ 
hello2(_name); 
} 
} 
setTimeout(_hello(name),7000);//立刻执行

一、setTimeout

setTimeout(function(){
//要执行的代码 
},200);

指隔200ms后,定时器代码被添加到队列中,等待JavaScript进程空闲后,代码才执行

二、setInterval

1、上面代码是指每隔200ms就创建一个执行代码的定时器
2、当使用setInterval时,仅当(在队列中)没有该定时器的任何其他代码实例时,才将定时器代码添加到队列中,引用JavaScript高级程序设计第二版书中语句(即:当前一个定时器代码执行时,紧跟后面的第一个定时器代码将添加到队列中,等待执行,再后面的定时器代码不会添加到队列中)

用setInterval来执行反复的行为的时候会遇到一个问题:

当定时器代码执行时间(假如需要600ms才执行完)超过指定间隔(这里是200ms),那么某些定时器代码就会被跳过(即后面的定时器代码不会被添加到队列中),前一个定时器代码执行完毕后,队列中的定时器代码立刻执行,各定时器之间的代码执行没有间隔。这时,需要使用链式setTimeout。

这样做的好处是:前一个定时器要执行的代码执行完且等待200ms后,才创建一个新的定时器,并把定时器代码添加到队列中执行即:不会出现定时器代码被跳过的情况;定时器之间的代码执行可以有间隔(根据自己设置)。

setTimeout(function(){
//要执行的代码 
setTimeout(arguments.callee,2000); 
},2000);
setInterval(function(){
//要执行的代码 
},200);

本文就给大家介绍这么多,希望对大家有所帮助,同时感谢大家对三水点靠木网站的支持。

Javascript 相关文章推荐
jquery form表单提交插件asp.net后台中文解码
Jun 12 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
Apr 17 Javascript
jquery操作checked属性以及disabled属性的多种方法
Jun 20 Javascript
jquery+ajax请求且带返回值的代码
Aug 12 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
详解angular中如何监控dom渲染完毕
Jan 03 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
Jun 01 Javascript
Node.js使用MySQL连接池的方法实例
Feb 11 Javascript
浅谈vuepress 踩坑记
Apr 18 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
Mar 10 Javascript
JavaScript设计模式--桥梁模式引入操作实例分析
May 23 Javascript
自动完成的搜索框javascript实现
Feb 26 #Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
Feb 26 #Javascript
js去字符串前后空格的实现方法
Feb 26 #Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 #Javascript
超实用的JavaScript表单代码段
Feb 26 #Javascript
理解javascript中Map代替循环
Feb 26 #Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
Feb 26 #Javascript
You might like
用PHP函数解决SQL injection
2006/10/09 PHP
PHP配置文件中最常用四个ini函数
2007/03/19 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
Yii Framework框架使用PHPExcel组件的方法示例
2019/07/24 PHP
又一个小巧的图片预加载类
2007/05/05 Javascript
iframe的onload在Chrome/Opera中执行两次Bug的解决方法
2011/03/17 Javascript
javascript获取元素CSS样式代码示例
2013/11/28 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
node.js中的emitter.emit方法使用说明
2014/12/10 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
Vuex简单入门
2017/04/19 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
python控制台显示时钟的示例
2014/02/24 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
用matplotlib画等高线图详解
2017/12/14 Python
使用 Python 实现微信公众号粉丝迁移流程
2018/01/03 Python
基于pycharm导入模块显示不存在的解决方法
2018/10/13 Python
Django后台admin的使用详解
2019/07/08 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
HTML5实时语音通话聊天MP3压缩传输3KB每秒
2019/08/28 HTML / CSS
失业者真诚求职信范文
2013/12/25 职场文书
管理专员自荐信
2014/01/26 职场文书
委托书范本
2014/04/02 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
2015年企业新年寄语
2014/12/08 职场文书
高三毕业感言
2015/07/30 职场文书