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 相关文章推荐
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
Nov 24 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
Mar 21 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
Apr 02 Javascript
JQuery中的事件及动画用法实例
Jan 26 Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 Javascript
jQuery与getJson结合的用法实例
Aug 07 Javascript
JS日期格式化之javascript Date format
Oct 01 Javascript
基于JavaScript实现 网页切出 网站title变化代码
Apr 03 Javascript
AngularJS入门教程之链接与图片模板详解
Aug 19 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
Sep 05 Javascript
微信小程序动态设置图片大小的方法
Nov 21 Javascript
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
自动完成的搜索框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
DOM XPATH获取img src值的query
2013/09/23 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
jquery的index方法实现tab效果
2011/02/16 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
JavaScript中的getDay()方法使用详解
2015/06/09 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
JS中的eval 为什么加括号
2016/04/13 Javascript
js仿手机页面文件下拉刷新效果
2016/10/14 Javascript
Node.JS利用PhantomJs抓取网页入门教程
2017/05/19 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
Node.js中sequelize时区的配置方法
2017/12/10 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
2019/07/24 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
Python删除windows垃圾文件的方法
2015/07/14 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
Python实现企业微信机器人每天定时发消息实例
2020/02/25 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
基于OpenCV的网络实时视频流传输的实现
2020/11/15 Python
python多线程爬取西刺代理的示例代码
2021/01/30 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
工程造价与管理专业应届生求职信
2013/11/23 职场文书
毕业生的自我评价分享
2013/12/18 职场文书
迎接领导欢迎词
2014/01/11 职场文书
全神贯注教学反思
2014/02/03 职场文书
临床医学专业求职信
2014/08/08 职场文书
学校关爱留守儿童活动方案
2014/08/27 职场文书
体育教师个人工作总结
2015/02/09 职场文书
在校证明模板
2015/06/17 职场文书
《秋思》教学反思
2016/02/23 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python