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 框架使用教程 AJAX篇
Oct 11 Javascript
JavaScript高级程序设计 扩展--关于动态原型
Nov 09 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
Apr 06 Javascript
详解用node编写自己的cli工具
May 23 Javascript
纯js实现图片匀速淡入淡出效果
Aug 22 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
Nov 10 Javascript
vue2中使用less简易教程
Mar 27 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
Aug 31 Javascript
微信小程序时间标签和时间范围的联动效果
Feb 15 Javascript
基于vue手写tree插件的那点事儿
Aug 20 Javascript
layer.alert自定义关闭回调事件的方法
Sep 27 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
php mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP session有效期session.gc_maxlifetime
2011/04/20 PHP
php获取文件内容最后一行示例
2014/01/09 PHP
浅谈php冒泡排序
2014/12/30 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
jQuery实现异步上传一个或多个文件
2020/08/17 jQuery
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
Python实现CET查分的方法
2015/03/10 Python
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
Python 爬虫图片简单实现
2017/06/01 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
Python实现元素等待代码实例
2019/11/11 Python
Python celery原理及运行流程解析
2020/06/13 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
阿尔卡特(中国)的面试题目
2014/08/20 面试题
《月光启蒙》教学反思
2014/03/01 职场文书
退休教师欢送会主持词
2014/03/31 职场文书
优秀员工演讲稿
2014/05/19 职场文书
保护地球的标语
2014/06/17 职场文书
超市创业计划书
2014/09/15 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
烟台的海导游词
2015/02/02 职场文书
防暑降温通知书
2015/04/27 职场文书
反四风问题学习心得体会
2016/01/22 职场文书