導航:首頁 > 編程語言 > jswindowsettimeout

jswindowsettimeout

發布時間:2023-08-10 06:30:17

js如何延時執行下一條語句

javascript提供了setTimeout() 方法用於在指定的毫秒數後調用函數或計算表達式,因此延遲1秒後執行一個函數可以如下代碼實現:

setTimeout("fun()",1000);//fun()是自定義函數

下面實例演示:打開頁面後倒計時3秒,然後彈出對話框

1、HTML結構

<divid="test">3</div>

2、javascript代碼

functionfun(n){

if(n>0){

n--;

document.getElementById("test").innerHTML=n;

setTimeout("fun("+n+")",1000)

}

else

alert("時間到!!");

}

window.onload=function(){

setTimeout("fun(3)",1000)

}

3、效果演示

㈡ 實現javascript的延期執行或者重復執行的兩個函數

以下內容摘錄自《征服AJAX Web2.0開發技術詳解》,今天在圖書管看書覺得講的挺好的,特此摘錄!小部分內容和代碼做了改動!
window對象提供了兩個方法來實現定時器的效果,分枝洞謹別是window.setTimeout()和window.setInterval。其中前者可以使一段代碼在指定時間後運行;而後者則可以使一段代碼每過指定時間就運行一次。它們的原型如下:
復制代碼
代碼如下:
window.setTimeout(expression,milliseconds);
window.setInterval(expression,milliseconds);
其中,expression可以是用引號括起來的一段代碼,也可以是一個函數名,到了指定的時間,系統便會自動調用該函數,當使用函數名作為調用句柄時,不能帶有任何參數;而使用字元串顫核時,則可以在其中寫入要傳遞的參數。兩個方法的第二個參數是milliseconds,表示延時或者重復執行的毫秒數。下面分別介紹兩種方法。
1.window.setTimeout方法 該方法可以延時執行一個函數,例如:
一秒後會彈出"hello"
[Ctrl+A
全選
注:如需引入外部Js需刷新才能執行]
這段代碼將使得頁面打開5秒鍾後顯示對話框「hello」。其中最後一句也可以寫為:
window.setTimeout("hello()",1000);
讀者可以體會它們的差別,在window.setInterval方法中也有這樣的性質。
如果在延時期限到達之前取消延執行,可以使用window.clearTimeout(timeoutId)方法,該方法接收一個id,表示一個定時器。這個id是由setTimeout方法返回的,例如:
[Ctrl+A
全選
注:如需引入外部Js需刷新才能執行]
這樣,如果要取消顯示,只需單擊頁面任何一部分,就執行了window.clearTimeout方法,使得超時操作被取消。
2.window.setInterval方法
該方法使得一個函數每隔固定時間被調用一次,是一個很常用的方法。如果想要取消定時執行,和clearTimeout方法類似,可以調用window.clearInterval方法。clearInterval方法同樣接收一個setInterval方法返回的值作為參數。例如:
復制代碼
代碼如下:
//定義一個反復執行的調用
var id=window.setInterval("somefunction",10000);
//取消定時執行
window.clearInterval(id);
上面的代碼僅用於說明怎樣取消一個定時執行。實際上在很多場合都需要用到setInterval方法,下面將設計一個秒錶,來介紹setInterval函數的用途:該秒錶將包括兩個按鈕和一個用於顯示時間的文本框。當單擊開始按鈕時開始計時,最小單位為0.01秒,此時再次單擊按鈕則停止計猛基時,文本框顯示經過的時間。另外一個按鈕用於將當前時間清零。其實現代碼如下:
New
Document
[Ctrl+A
全選
注:如需引入外部Js需刷新才能執行]

㈢ javaScript 中怎麼延遲執行一個方法

setTimeout("test()","2000"); //2000毫秒後執行test()函數,只執行一次。setInterval("test()","2000"); //每隔2000毫秒執行一次test()函數,執行無數次。

(3)jswindowsettimeout擴展閱讀:

1、setTimeout() 方法用於在指定的毫秒數後調用函數或計算表達式。

2、語法:setTimeout(function, milliseconds, param1, param2, ...)。

3、提示:1000 毫秒= 1 秒。

4、提示:如果你只想重復執行可以使用setInterval()方法。

5、提示:使用clearTimeout()方法來阻止函數的執行。

6、所需參數1:code/function,必需。要調用一個代碼串,也可以是一個函數。

7、所需參數2:milliseconds可選。執行或調用 code/function 需要等待的時間,以毫秒計。默認為 0。

8、所需參數3:param1, param2, ...,可選。 傳給執行函數的其他參數(IE9 及其更早版本不支持該參數)。

9、返回值:返回一個 ID(數字),可以將這個ID傳遞給 clearTimeout() 來取消執行。

10、實例:var myWindow=window.open("","","width=200,height=100");myWindow.document.write("<p>這是一個新窗口'</p>");setTimeout(function(){ myWindow.close() }, 3000);

㈣ 怎麼js中settimeout

1. SetTimeOut()
1.1 SetTimeOut()語法例子
1.2 用SetTimeOut()執行Functio
1.3 SetTimeOut()語法例子
1.4 設定條件使SetTimeOut()停止
1.5 計分及秒的counter
2. ClearTimeout()
3. Set Flag
etTimeout( ) 是屬於 window 的 method, 但我們都是略去 window 這頂層物件名稱, 這是用來設定一個時間, 時間到了, 就會執行一個指定的 method。請先看以下一個簡單, 這是沒有實際用途的例子, 只是用來示範 setTimeout( ) 的語法。
練習-69等候三秒才執行的 alert( )
在 第 3 章 說到 alert 對話盒, 一般是用按鈕叫出來, 在這練習, 你會看到網頁開啟後 3 秒, 就會自動出現一個 alert 對話盒。
1.請用瀏覽器開啟示範磁碟中的 timeout1.htm, 這檔案有以下內容:
<html> <body bgcolor=lightcyan text=red> <h1> <font color=blue> 示範網頁 </font> </h1> <p> </br> <p> 請等三秒! <script> setTimeout("alert('對不起, 要你久候')", 3000 ) </script> </body> </html>
2.留意網頁開啟後三秒, 就會出現一個 alert 對話盒。
etTimeout( ) 是設定一個指定等候時間 (單位是千分之一秒, millisecond), 時間到了, 瀏覽器就會執行一個指定的 method 或 function, 有以下語法:
今次例子是設定等 3 秒 (3000 milliseconds), 瀏覽器就會執行 alert( ) 這一個method。
etTimeout( ) 通常是與 function 一起使用, 以下是一個較上個練習復雜的例子。
練習-70狀態列中自動消失的文字
在練習-20, 你看過如何用按鈕在狀態列顯示文字, 然後再用按鈕消除文字, 在這練習, 你看到如何用按鈕在狀態列顯示文字, 而這文字會在三秒後自動消失。
1.請用瀏覽器開啟示範磁碟中的 timeout2.htm, 這檔案有以下內容:
<html> <body bgcolor=lightcyan text=red> <h1> <font color=blue> 示範網頁 </font> </h1> <p> </br>
<script> function clearWord( ) {window.status=""} </script> <form> <input type="button" value="在狀態列顯示文字" onClick="window.status='Hello' , setTimeout('clearWord( )', 3000) "> </form> </body> </html>
2.請在按鈕上按一下, 你應見到狀態列出現 Hello 這字, 留意過了三秒, 這字就會消失。
1.這處先設定一個名為 clearWord( ) 的 function, 作以下定義:
window.status=""
這是用來消除狀態列的文字 (請看練習-20 的說明), 瀏覽器執行 clearWord( ) , 就會消除狀態列的文字。
2.今次按鈕設定了啟動以下兩項工作, 用 , 分隔, 瀏覽器會順序執行這兩項工作:
onClick="window.status='Hello' , setTimeout('clearWord( )', 3000) "
3.今次的 setTimeout( ) 有以下設定:
這是設定等 3 秒 (3000 milliseconds) 瀏覽器就會執行 clearWord( ) 這一個function。
在第 2 章, 你看過如何使到父視窗開啟時自動開啟一個子視窗, 若觀看者不關閉這子視窗, 這子視窗就會一路開啟。看過以上的練習, 請你設計一個會開啟子視窗的網頁, 而這子視窗在開啟後兩秒, 就會自動關閉。
etTimeout( ) 預設只是執行一次, 但我們可以使用一個循環方式, 使到一個setTimeout( ) 再啟動自己一次, 就會使到第二個 setTimeout( ) 執行, 第二個又啟動第三個, 這樣循環下去, 這 setTimeout( ) 就會不斷執行。
練習-71自動每秒加 1 的 functio
在這練習, 你看到如何使用 setTimeout( ) 令文字框的數值每秒就加 1, 當然你也可以設定其他遞增的速度, 例如每五秒就加 5, 或每五秒就加 1。
1.請用瀏覽器開啟示範磁碟中的 timeout3.htm, 這檔案有以下內容:
2.網頁開啟後, 請你留意文字框中的數值轉變。
3.請你將這檔案復制去硬碟, 更改一些設定, 例如 x = x+5, 或將等候時間改為5000, 看有什麼反應。
1.這網頁有兩個 script, 第一個是設定 countSecond( ) 這個 function, 第二個在後的是在網頁完全載入後, 就啟動這 function。
2.留意今次以下的設定:
當 countSecond( ) 啟動後, 就會啟動 setTimeout( ), 這個 method 在一秒後又啟動 countSecond( ), countSecond( ) 啟動後又啟動 setTimeout( ) , 所以得出的結果是 countSecond( ) 每秒執行一次。
3.在 JavaScript, 我們是使用這處說的方法使到一些事項不斷執行, 其中一個用途是顯示轉動時間, 另一個用途是設定跑動文字, 隨後的章節會有例子。
用上述的方法設定時間, setTimeout( ) 雖然設定了是一秒, 但瀏覽器還有另外兩項功能要執行, 所以一個循環的時間是稍多於一秒, 例如一分鍾可能只有58 個循環。
etTimeout( ) 的迴圈開始後, 就會不斷重復, 在上個練習, 你看到文字框的數字不斷跳動, 但我們是有方法使到數字跳到某一個數值就停下來, 其中一個方法是用 if...else 設定一個條件, 若是 TRUE 就繼續執行 setTimeout( ) , 若是 FALSE 就停止。
例如要使到上個練習的 counter 跳到 20 就停下, 可將有關的 function 作以下的更改。
在前面的練習, 相信你已學識如何使用 setTimeout( ), 現在請你看一個較復習的例子。
練習-72計時的 counter
在這練習, 你要設定兩個文字框, 一個顯示分鍾, 另一個顯示秒, 網頁開啟後, 就會在這兩個文字框中自動計時。
1.請用瀏覽器開啟示範磁碟中的 timeout4.htm, 這檔案有以下內容:
<html> <head> <script> x=0 y=-1 function countMin( ) {y=y+1 document.displayMin.displayBox.value=y setTimeout("countMin( )",60000) }
2.請你留意兩個文字框中的數字轉變。
1.這網頁有兩個 function, 一個用來計分鍾, 一個用來計秒。在這處, 筆者只是示範setTimeout( ) 的操作, 因為計時器有其他更精簡的寫法。(留意: 這方式的計時並不準確。)
2.留意計秒的 function:
這處的 % 符號是 molus (餘數), 例如 z = x % 60 表示先進行 x / 60, 得出的餘數作為 z 這變數, 例如 82 秒, molus 就是 22, 所以文字框會顯示 22 而不是 82。
3.若你要將單位數字在前加上 0, 例如 01, 02, 03 等, 可用以下方法:
在前一節, 你看過如何使用 setTimeout( ) 來使到瀏覽器不斷執行一個 function, 當一個 setTimeout( ) 開始了循環的工作, 我們要使它停下來, 可使用 clearTimeout( ) 這 method。
clearTimout( ) 有以下語法:clearTimeout(timeoutID)
要使用 clearTimeout( ), 我們設定 setTimeout( ) 時, 要給予這 setTimout( ) 一個名稱, 這名稱就是 timeoutID , 我們叫停時, 就是用這 timeoutID來叫停, 這是一個自訂名稱, 但很多程式員就以 timeoutID 為名。
在下面的例子, 筆者設定兩個 timeoutID, 分別命名為 meter1 及 meter2, 如下:
timeoutID ↓ meter1 = setTimeout("count1( )", 1000) meter2 = setTimeout("count2( )", 1000)
使用這 meter1 及 meter2 這些 timeoutID 名稱, 在設定 clearTimeout( ) 時, 就可指定對哪一個 setTimeout( ) 有效, 不會擾及另一個 setTimeout( ) 的操作。
練習-73可停止的 setTimeout( )
這練習以練習-71 為藍本, 但作了兩個改變: (1) 有兩個 setTimeout( ), (2) 有兩個按鈕, 分別可停止這兩個 setTimout( )。
1.請用瀏覽器開啟示範磁碟中的 clear.htm, 這檔案有以下內容:
<html> <head> <script> x = 0 y = 0
2.留意網頁中的兩個文字框及內里變動的數字, 每個文字框旁有兩個按鈕, 請你試試兩個按鈕的反應。
3.請你連續按多次 [繼續計時] 的按鈕, 留意數值的跳動加快了, 原因是每按一次就啟動 function 一次, 每個 function 都令數值跳動, 例如啟動同一的 function 四次, 就會一秒跳四次。(請看下一節)
前個練習說到我們用一個按鈕來啟動一個 function, 每按一下就會啟動這 function 一次, 請看以下例子。
練習-74效果重復的 setTimeout( )
這練習實際是將 練習-73 簡化, 只有一個計時器, 筆者想示範的是每按 [繼續計時] 一次, 就會啟動 count( ) 這 function 一次。
1.請用瀏覽器開啟示範磁碟中的 flag1.htm, 這檔案有以下內容:
<script> count( ) </script> </body> </html>
2.網頁開啟後, 你應見到文字框中的數字跳動, 請你按四次 [繼續計時], 留意這會加快數字跳動, 原因是有關的 function 被開啟了多個, 每個都會使數字轉變。
3.按了四次 [繼續計時] 的按鈕後, 請你按 [停止計時] 的按鈕, 你會發現要按五次才能停止數字跳動。
在編寫程式時, 我們常要提防使用者作出一些特別動作, 例如使用者按兩次 [繼續計時] 按鈕, 這計時器就失准了。我們是否有辦法使到一個按鈕被按一次就失效呢? 這就不會產生重復效果。
筆者藉這處的例子 (隨後還有多個例子), 解說程式中一個 set flag (設定旗標) 的概念, flag 是一個記認, 一般來說, 這可以是 0 或是 1 (也可用 on 或 off, 或任何兩個自選的名稱或數字), 但也可以是 2、3、4 或更大的數字, 在這例子有以下設定:
1.程式開啟時 flag=0。
2.當 counter( ) 執行時會順便將 flag 變為 1。
3.在 [繼續計時] 這按鈕的反應中, 會先檢查 flag 是 0 或是 1, 若是 0 就會產生作用, 若是 1 就沒有反應。
4.使用這 flag 的方式, count( ) 這 function 開啟後, [繼續計時] 這按鈕就沒有作用。
這處的 flag 是一個變數, 可任意取名, 我們用 flag來稱呼這變數的原因, 是因為這變數好處一支旗, 將旗豎起 (flag is on), 就會產生一個作用, 將旗放下 (flag is off), 就產生另一個作用。
練習-75隻可開啟一次的 functio
這練習是將上個練習加多一個 flag, 使到每次只能有一個 count( ) 這 function 在進行。
1.請用瀏覽器開啟示範磁碟中的 flag2.htm, 這檔案有以下內容:
function restart( ) {if (flag==0) {count( )} } </script> </head>
<script> count( ) </script>
<form> <input type=button value="Show flag" onClick="alert('The flag now is '+ flag) " > </form> </body> </html>
2.在網頁中, 你應見到三個按鈕及文字框中的數字跳動。
3.請你按 [Show flag] 這按鈕, 應見到一個話對盒顯示 flag 是 1。
4.請你按 [停止計時] 這按鈕, 數字停止跳動, 請你按 [Show flag] 這按鈕, 應見到話對盒顯示 flag 是 0。
5.請你按多次 [繼續計時] 這按鈕, 你應見到數字不會加快, 請你按 [Show flag] 這按鈕, 應見到話對盒顯示 flag 變回 1。
1.這網頁第 4 行有這一句: flag=0 , 這是設定 flag 這變數及將初始值定為 0, 你也可將初始值定為 1, 隨後有關的 0 和 1 對調。
2.count( ) 這 function 最後一句是 flag=1 , 所以啟動 count( ) 後, flag 就會變為 1。
3.[繼續計時] 的按鈕是用來啟動 restart( ), 這 function 有以下設定:
function restart( ) {if (flag==0) {count( )} }
這處的 if statement 檢查 flag 是否等於 0, 若是 0 就啟動 count( ), 若是 1 (即不是 0) 就沒有反應, 使用這方法, 若 count( ) 已在執行中, [繼續計時] 這按鈕不會有作用。
這處的 flag=1 設定, 實際設為 1 或 2 或 3 等數值都是一樣的, 只要不是 0 就可以了, 所以這兩個相對的旗標, 看似是 "0" 和 "1", 實際是 "0" 和 "non-zero" (非-0)。
4.[停止計時] 的按鈕有以下設定:
onClick="clearTimeout(timeoutID); flag=0 "
這是停止 setTimeout( ) 的操作時, 同時將 flag 轉回 0, 這使到 restart( ) 這 function 可以重新啟動 count( )。

㈤ javascript中的setTimeout怎麼用 我想定時刷新頁面!!!

<script>function change(){ window.setTimeout("change()",時間)}</script>如果滿意我的答案請採納 並評價 不滿意請追問 祝你聖誕快樂

閱讀全文

與jswindowsettimeout相關的資料

熱點內容
數據標注哪裡可以接 瀏覽:482
在家自學編程下什麼學 瀏覽:705
最近很火的app軟體是什麼軟體 瀏覽:862
ai文字工具 瀏覽:157
蘭博玩游戲路徑怎麼選擇正確文件 瀏覽:972
淘寶直通車恢復老版本 瀏覽:510
播放草莓的圖片我都文件 瀏覽:55
微信大文件打不開 瀏覽:767
家裝合同准備哪些文件 瀏覽:296
應用bat合並excel文件 瀏覽:984
迅雷影音文件夾 瀏覽:109
makefile的文件路徑 瀏覽:392
計算機程序文件名擴展名為 瀏覽:982
網路游戲推廣策劃案 瀏覽:609
替換所有文件內容的代碼 瀏覽:960
不是常用數據模型有哪些 瀏覽:426
aspcms版本號 瀏覽:835
安卓怎麼用數據流量下載軟體 瀏覽:553
大眾手動空調數據流通道號是多少 瀏覽:303
手機qq令牌 瀏覽:737

友情鏈接