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 parseInt 函数分析(转)
Mar 21 Javascript
js parsefloat parseint 转换函数
Jan 21 Javascript
在JavaScript中获取请求的URL参数
Dec 22 Javascript
JS this作用域以及GET传输值过长的问题解决方法
Aug 06 Javascript
jquery隐藏标签和显示标签的实例
Nov 11 Javascript
javascript删除option选项的多种方法总结
Nov 22 Javascript
JS定义类的六种方式详解
May 12 Javascript
jquery 获取select数组与name数组长度的实现代码
Jun 20 Javascript
微信小程序实战之自定义模态弹窗(8)
Apr 18 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
Apr 30 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
May 30 jQuery
Vue 实现从文件中获取文本信息的方法详解
Oct 16 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
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php中的观察者模式简单实例
2015/01/20 PHP
php中smarty区域循环的方法
2015/06/11 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
javascript中打印当前的时间实现思路及代码
2013/12/18 Javascript
Express.JS使用详解
2014/07/17 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
js获取form的方法
2015/05/06 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
AngularJS的ng-click传参的方法
2017/06/19 Javascript
基于webpack4+vue-cli3项目实现换肤功能
2019/07/17 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
详解Python编程中time模块的使用
2015/11/20 Python
Python绘制3D图形
2018/05/03 Python
python3.5 email实现发送邮件功能
2018/05/22 Python
CentOS7安装Python3的教程详解
2019/04/10 Python
Python实现决策树并且使用Graphviz可视化的例子
2019/08/09 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
运动会方阵解说词
2014/02/12 职场文书
银行求职信怎么写
2014/05/26 职场文书
安全施工责任书
2014/08/25 职场文书
工作证明格式及范本
2014/09/12 职场文书
中国文明网向国旗敬礼寄语大全
2014/09/27 职场文书
考勤制度通知
2015/04/25 职场文书
撤诉书怎么写
2015/05/19 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
关于JavaScript回调函数的深入理解
2021/06/27 Javascript
解析mybatis-plus中的resultMap简单使用
2021/11/23 Java/Android