国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > JS > 正文

JavaScript 定時(shí)器 SetTimeout之定時(shí)刷新窗口和關(guān)閉窗口(代碼超簡(jiǎn)單)

2024-05-06 16:29:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了JavaScript 定時(shí)器 SetTimeout之定時(shí)刷新窗口和關(guān)閉窗口(代碼超簡(jiǎn)單)的相關(guān)資料,需要的朋友可以參考下
 

廢話不多說(shuō)了,直接給大家貼代碼了。

// 每隔五秒定時(shí)刷新當(dāng)前窗口setTimeout("self.location.reload();",5000);//js 定時(shí)關(guān)閉窗口(ie和FF中測(cè)試過(guò))//6秒后自動(dòng)關(guān)閉當(dāng)前窗口setTimeout("window.opener=null;window.close()",6000);

下面給大家介紹下javascript定時(shí)器使用

使用定時(shí)器實(shí)現(xiàn)JavaScript的延期執(zhí)行或重復(fù)執(zhí)行 window對(duì)象提供了兩個(gè)方法來(lái)實(shí)現(xiàn)定時(shí)器的效果,分別是

window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時(shí)間后運(yùn)行;而后者則可以使一段代碼每過(guò)指定時(shí)間就運(yùn)行一次。 它們的原型如下: window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds); 其中expression可以是字符串,也可以是函數(shù)名。是字符串的時(shí)候可以帶參數(shù),函數(shù)名不能帶參數(shù),如果帶上參數(shù)就直接執(zhí)行函數(shù)了,不會(huì)延時(shí)。

 function hello (){ console.log('I am dada'); //alert('I am ' + name);//setTimeout(arguments.callee,2000); } setTimeout(hello,5000);//5秒后執(zhí)行 setTimeout('hello()',3000);//3秒后執(zhí)行setTimeout(hello(),8000);//立刻執(zhí)行 

第一種情況是函數(shù)名,但是帶不了參數(shù)

第二種情況是字符串,可執(zhí)行的js代碼,可以帶參數(shù),但是性能上比函數(shù)名差

第三種是調(diào)用函數(shù),直接執(zhí)行

所以如果想要穿參數(shù),但是又不想通過(guò)字符串的形式調(diào)用,可以自己來(lái)寫(xiě)一個(gè)方法:

function _hello(_name){ return function(){ hello2(_name); } } setTimeout(_hello(name),7000);//立刻執(zhí)行

一、setTimeout

setTimeout(function(){//要執(zhí)行的代碼 },200);

指隔200ms后,定時(shí)器代碼被添加到隊(duì)列中,等待JavaScript進(jìn)程空閑后,代碼才執(zhí)行

二、setInterval

1、上面代碼是指每隔200ms就創(chuàng)建一個(gè)執(zhí)行代碼的定時(shí)器
2、當(dāng)使用setInterval時(shí),僅當(dāng)(在隊(duì)列中)沒(méi)有該定時(shí)器的任何其他代碼實(shí)例時(shí),才將定時(shí)器代碼添加到隊(duì)列中,引用JavaScript高級(jí)程序設(shè)計(jì)第二版書(shū)中語(yǔ)句(即:當(dāng)前一個(gè)定時(shí)器代碼執(zhí)行時(shí),緊跟后面的第一個(gè)定時(shí)器代碼將添加到隊(duì)列中,等待執(zhí)行,再后面的定時(shí)器代碼不會(huì)添加到隊(duì)列中)

用setInterval來(lái)執(zhí)行反復(fù)的行為的時(shí)候會(huì)遇到一個(gè)問(wèn)題:

當(dāng)定時(shí)器代碼執(zhí)行時(shí)間(假如需要600ms才執(zhí)行完)超過(guò)指定間隔(這里是200ms),那么某些定時(shí)器代碼就會(huì)被跳過(guò)(即后面的定時(shí)器代碼不會(huì)被添加到隊(duì)列中),前一個(gè)定時(shí)器代碼執(zhí)行完畢后,隊(duì)列中的定時(shí)器代碼立刻執(zhí)行,各定時(shí)器之間的代碼執(zhí)行沒(méi)有間隔。這時(shí),需要使用鏈?zhǔn)絪etTimeout。

這樣做的好處是:前一個(gè)定時(shí)器要執(zhí)行的代碼執(zhí)行完且等待200ms后,才創(chuàng)建一個(gè)新的定時(shí)器,并把定時(shí)器代碼添加到隊(duì)列中執(zhí)行即:不會(huì)出現(xiàn)定時(shí)器代碼被跳過(guò)的情況;定時(shí)器之間的代碼執(zhí)行可以有間隔(根據(jù)自己設(shè)置)。

setTimeout(function(){//要執(zhí)行的代碼 setTimeout(arguments.callee,2000); },2000);setInterval(function(){//要執(zhí)行的代碼 },200);

本文就給大家介紹這么多,希望對(duì)大家有所幫助,同時(shí)感謝大家對(duì)VeVb武林網(wǎng)網(wǎng)站的支持。



注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JavaScript/Ajax教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 霞浦县| 当阳市| 岳普湖县| 天等县| 商南县| 壶关县| 英超| 互助| 宾川县| 玛纳斯县| 达拉特旗| 措美县| 子长县| 门源| 乐山市| 黎川县| 白城市| 凤翔县| 阿拉善右旗| 昌黎县| 洛浦县| 华安县| 甘肃省| 阿合奇县| 鄂尔多斯市| 林周县| 什邡市| 鄱阳县| 大宁县| 龙岩市| 紫阳县| 乌恰县| 高要市| 松溪县| 五指山市| 建始县| 长阳| 吕梁市| 海盐县| 罗江县| 通城县|