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 相关文章推荐
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
Jun 06 Javascript
javascript实现json页面分页实例代码
Feb 20 Javascript
js遍历子节点子元素附属性及方法
Aug 19 Javascript
自编jQuery插件实现模拟alert和confirm
Sep 01 Javascript
使用JavaScript 实现的人脸检测
Mar 24 Javascript
JavaScript实现斗地主游戏的思路
Feb 29 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
Aug 11 Javascript
JS判断form内所有表单是否为空的简单实例
Sep 09 Javascript
addEventListener()与removeEventListener()解析
Apr 20 Javascript
Vue开发中整合axios的文件整理
Apr 29 Javascript
微信小程序scroll-view组件实现滚动动画
Jan 31 Javascript
Node.js的进程管理的深入理解
Jan 09 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中var_export与var_dump的区别分析
2010/08/21 PHP
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
取选中的radio的值
2010/01/11 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
2011/12/26 Javascript
jQuery.Validate验证库的使用介绍
2013/04/26 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2013/10/24 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
node.js中的buffer.toJSON方法使用说明
2014/12/14 Javascript
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
Seajs 简易文档 提供简单、极致的模块化开发体验
2016/04/13 Javascript
javascript闭包概念简单解析(推荐)
2016/06/03 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
微信小程序实现弹出菜单功能
2018/06/12 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
解决Antd Table组件表头不对齐的问题
2020/10/27 Javascript
python生成指定长度的随机数密码
2014/01/23 Python
Python基于PycURL实现POST的方法
2015/07/25 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
python实现飞机大战游戏
2020/10/26 Python
利用python实现AR教程
2019/11/20 Python
移动web模拟客户端实现多方框输入密码效果【附代码】
2016/03/25 HTML / CSS
办公室主任先进事迹
2014/01/18 职场文书
干部对照检查材料范文
2014/08/26 职场文书
篮球赛新闻稿
2015/07/17 职场文书
关于做家务的心得体会
2016/01/23 职场文书
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
python获取淘宝服务器时间的代码示例
2021/04/22 Python