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自动下载文件到本地的实现代码
Apr 28 Javascript
如何将php数组或者对象传递给javascript
Mar 20 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
May 13 Javascript
jquery中filter方法用法实例分析
Feb 06 Javascript
JQuery鼠标移到小图显示大图效果的方法
Jun 10 Javascript
原生JS实现旋转木马式图片轮播插件
Apr 25 Javascript
JavaScript代码性能优化总结(推荐)
May 16 Javascript
全面了解JavaScript的数据类型转换
Jul 01 Javascript
Javascript 获取鼠标当前的位置实现方法
Oct 27 Javascript
基于jQuery实现选项卡效果
Jan 04 Javascript
微信小程序开发经验总结(推荐)
Jan 11 Javascript
JavaScript事件委托实现原理及优点进行
Aug 29 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来检测proxy
2006/10/09 PHP
我的论坛源代码(二)
2006/10/09 PHP
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
PHP 5.0 Pear安装方法
2006/12/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
微信封装的调用微信签名包的类库
2017/06/08 PHP
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
javascript与PHP动态往类中添加方法对比
2018/03/21 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
2020/01/04 Javascript
[00:35]DOTA2上海特级锦标赛 MVP.Phx战队宣传片
2016/03/04 DOTA
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
跟老齐学Python之Python文档
2014/10/10 Python
Python闭包实现计数器的方法
2015/05/05 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
2016/01/20 Python
python 网络爬虫初级实现代码
2016/02/27 Python
python编码总结(编码类型、格式、转码)
2016/07/01 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
使用Python进行目录的对比方法
2018/11/01 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
python+OpenCV实现图像拼接
2020/03/05 Python
Python 代码调试技巧示例代码
2020/08/11 Python
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
毕业生找工作求职信
2014/08/05 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
铁路安全反思材料
2014/12/24 职场文书
警示教育片观后感
2015/06/17 职场文书
2019入党申请书格式和范文
2019/06/25 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
利用python实时刷新基金估值(摸鱼小工具)
2021/09/15 Python
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript