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宝典学习笔记
Feb 07 Javascript
javascript AutoScroller 函数类
May 29 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
Jul 25 Javascript
javascript实现删除前弹出确认框
Jun 04 Javascript
js右下角弹出提示框示例代码
Jan 12 Javascript
JQuery Mobile 弹出式登录框的实现方法
May 28 Javascript
vue.js实现表格合并示例代码
Nov 30 Javascript
微信小程序分页加载的实例代码
Jul 11 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
Dec 27 Javascript
详解vue 自定义marquee无缝滚动组件
Apr 09 Javascript
原生JS实现随机点名项目的实例代码
Apr 30 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
Feb 28 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+MYSQL的文章管理系统(二)
2006/10/09 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
php smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
PHP设计模式之观察者模式定义与用法示例
2018/08/04 PHP
php生成静态页面并实现预览功能
2019/06/27 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
Jquery中val()表单取值赋值的实例代码
2013/08/15 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
js取整数、取余数的方法
2014/05/11 Javascript
jquery中map函数遍历数组用法实例
2015/05/18 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
论Bootstrap3和Foundation5网格系统的异同
2016/05/16 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
Python生成器定义与简单用法实例分析
2018/04/30 Python
浅谈python之高阶函数和匿名函数
2019/03/21 Python
python多进程读图提取特征存npy
2019/05/21 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
python实现udp聊天窗口
2020/03/31 Python
python中round函数保留两位小数的方法
2020/12/04 Python
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
应届生护士求职信
2013/11/01 职场文书
医学生职业规划范文
2014/01/05 职场文书
区长工作作风个人整改措施
2014/10/01 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
少年犯观后感
2015/06/11 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js