方法:1、使用setTimeout方法,語法「setTimeout(要執行的程式碼,等待的毫秒數)」;2、使用setInterval方法,語法「setInterval(要呼叫的函式,呼叫函數之間的時間間隔)」。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
廢話不多說了,直接給大家貼程式碼了。
//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進階教學】
以上是javascript如何定時自動關閉頁面的詳細內容。更多資訊請關注PHP中文網其他相關文章!