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入门之事件、cookie、定时等
Oct 21 Javascript
jquery focus(fn),blur(fn)方法实例代码
Dec 16 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
Oct 14 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
Nov 30 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
May 14 Javascript
Angularjs注入拦截器实现Loading效果
Dec 28 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
vue.js中$set与数组更新方法
Mar 08 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
Sep 11 Javascript
vue+egg+jwt实现登录验证的示例代码
May 18 Javascript
解决layui数据表格Date日期格式的回显Object的问题
Sep 19 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 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中检查PHP文件是否有语法错误的方法
2009/12/23 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
2015/10/10 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
css+js实现部分区域高亮可编辑遮罩层
2014/03/04 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
2014/06/23 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
夯基础之手撕javascript继承详解
2020/11/09 Javascript
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python动态加载变量示例分享
2014/02/17 Python
Python的time模块中的常用方法整理
2015/06/18 Python
python在Windows下安装setuptools(easy_install工具)步骤详解
2016/07/01 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
python操作excel文件并输出txt文件的实例
2018/07/10 Python
python MNIST手写识别数据调用API的方法
2018/08/08 Python
将python图片转为二进制文本的实例
2019/01/24 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
利用Python实现斐波那契数列的方法实例
2020/07/26 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
巴西女装购物网站:Eclectic
2018/04/24 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
2015/01/27 面试题
教你怎样写好自我评价
2013/10/05 职场文书
父母对孩子说的话
2014/04/12 职场文书
工作证明格式及范本
2014/09/12 职场文书
班子群众路线教育实践个人对照检查材料思想汇报
2014/09/30 职场文书
2015年店长工作总结范文
2015/04/08 职场文书
思品教学工作总结
2015/08/10 职场文书
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL