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 相关文章推荐
JS获取页面窗口大小的代码解读
Dec 01 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
Jul 20 Javascript
仿新浪微博返回顶部的jquery实现代码
Oct 01 Javascript
Require.JS中的几种define定义方式示例
Jun 01 Javascript
vue中配置mint-ui报css错误问题的解决方法
Oct 11 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
Feb 26 Javascript
解决axios发送post请求返回400状态码的问题
Aug 11 Javascript
vue实现条件判断动态绑定样式的方法
Sep 29 Javascript
JavaScript设计模式之装饰者模式实例详解
Jan 17 Javascript
小程序数据通信方法大全(推荐)
Apr 15 Javascript
详解小程序input框失焦事件在提交事件前的处理
May 05 Javascript
JS正则表达式封装与使用操作示例
May 15 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 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
php实现的递归提成方案实例
2015/11/14 PHP
PHP GD库相关图像生成和处理函数小结
2016/09/30 PHP
php正则修正符用法实例详解
2016/12/29 PHP
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
2019/08/27 jQuery
在vue中嵌入外部网站的实现
2020/11/13 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
从零学Python之入门(五)缩进和选择
2014/05/27 Python
解决python2.7 查询mysql时出现中文乱码
2016/10/09 Python
Pandas 同元素多列去重的实例
2018/07/03 Python
Python实现代码统计工具
2019/09/19 Python
Python如何读取文件中图片格式
2020/01/13 Python
Pycharm和Idea支持的vim插件的方法
2020/02/21 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
CSS3中的content属性使用示例
2015/07/20 HTML / CSS
施工人员岗位职责
2013/12/12 职场文书
怀念母亲教学反思
2014/04/28 职场文书
难忘的一天教学反思
2014/04/30 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
小学生家长意见
2015/06/03 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
详解非极大值抑制算法之Python实现
2021/06/28 Python
CSS实现五种常用的2D转换
2021/12/06 HTML / CSS