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 相关文章推荐
javaScript checkbox 全选/反选及批量删除
Apr 28 Javascript
javaScript NameSpace 简单说明介绍
Jul 18 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
Javascript中各种trim的实现详细解析
Dec 10 Javascript
js this函数调用无需再次抓获id,name或标签名
Mar 03 Javascript
加载列表时jquery获取ul中第一个li的属性
Nov 02 Javascript
推荐5 个常用的JavaScript调试技巧
Jan 08 Javascript
快速学习jQuery插件 Form表单插件使用方法
Dec 01 Javascript
JavaScript数据存储 Cookie篇
Jul 02 Javascript
AngularJS实现一次监听多个值发生的变化
Aug 31 Javascript
使用react实现手机号的数据同步显示功能的示例代码
Apr 03 Javascript
vue+element实现图片上传及裁剪功能
Jun 29 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
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
php微信公众号开发之关键词回复
2018/10/20 PHP
关于jQuery中的end()使用方法
2011/07/10 Javascript
jQuery ajax 路由和过滤器使用说明
2011/08/02 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
调试JavaScript中正则表达式中遇到的问题
2015/01/27 Javascript
javascript生成大小写字母
2015/07/03 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
微信小程序授权获取用户详细信息openid的实例详解
2017/09/20 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
Python中的jquery PyQuery库使用小结
2014/05/13 Python
python制作websocket服务器实例分享
2016/11/20 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
2020/01/10 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
Python如何安装第三方模块
2020/05/28 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
Python如何定义有可选参数的元类
2020/07/31 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
HTML5实践-图片设置成灰度图
2012/11/12 HTML / CSS
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
异常和异常类的概念
2014/09/12 面试题
促销活动总结
2014/04/28 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书
python中pymysql包操作数据库方法
2022/04/19 Python