溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript怎么定時自動關閉頁面

發(fā)布時間:2021-06-15 14:35:44 來源:億速云 閱讀:295 作者:小新 欄目:web開發(fā)

小編給大家分享一下javascript怎么定時自動關閉頁面,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

方法:1、使用setTimeout方法,語法“setTimeout(要執(zhí)行的代碼,等待的毫秒數(shù))”;2、使用setInterval方法,語法“setInterval(要調用的函數(shù),調用函數(shù)之間的時間間隔)”。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

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

//js 定時關閉窗口(ie和FF中測試過)
//6秒后自動關閉當前窗口
setTimeout("window.opener=null;window.close()",6000);

下面給大家介紹下javascript定時器使用

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

window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時間后運行;而后者則可以使一段代碼每過指定時間就運行一次。 它們的原型如下: window.setTimeout(expression,milliseconds); window.setInterval(expression,milliseconds); 其中expression可以是字符串,也可以是函數(shù)名。是字符串的時候可以帶參數(shù),函數(shù)名不能帶參數(shù),如果帶上參數(shù)就直接執(zhí)行函數(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ù)名差

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

所以如果想要穿參數(shù),但是又不想通過字符串的形式調用,可以自己來寫一個方法:

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

一、setTimeout

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

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

二、setInterval

1、上面代碼是指每隔200ms就創(chuàng)建一個執(zhí)行代碼的定時器

2、當使用setInterval時,僅當(在隊列中)沒有該定時器的任何其他代碼實例時,才將定時器代碼添加到隊列中,引用JavaScript高級程序設計第二版書中語句(即:當前一個定時器代碼執(zhí)行時,緊跟后面的第一個定時器代碼將添加到隊列中,等待執(zhí)行,再后面的定時器代碼不會添加到隊列中)

用setInterval來執(zhí)行反復的行為的時候會遇到一個問題:

當定時器代碼執(zhí)行時間(假如需要600ms才執(zhí)行完)超過指定間隔(這里是200ms),那么某些定時器代碼就會被跳過(即后面的定時器代碼不會被添加到隊列中),前一個定時器代碼執(zhí)行完畢后,隊列中的定時器代碼立刻執(zhí)行,各定時器之間的代碼執(zhí)行沒有間隔。這時,需要使用鏈式setTimeout。

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

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

以上是“javascript怎么定時自動關閉頁面”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI