2013-12-13 77 views
0

這裏我試圖用6秒的延遲執行JavaScript函數。 我正在執行身體onload的JavaScript函數。我無法得到如何執行功能執行的五個延遲...如何延遲javascript函數的執行

我該怎麼做?

這裏是我的JavaScript片段

代碼:

function hideDiv() { 
    if (document.getElementById) { 
     document.getElementById('div').style.visibility = 'hidden'; 
    } 
} 

功能hideDiv 6秒後

+0

可能重複http://stackoverflow.com/questions/758688/ sleep-in-javascript) –

+0

僅供參考,沒有理由做'if(document.getElementById)'。該函數存在於當前正在使用的每個瀏覽器中,因此沒有理由檢查它。 – jfriend00

回答

2

您使用setTimeout安排一個JavaScript函數在未來有時候也應該執行。

setTimeout(hideDiv, 6000); 

參見setTimeout()MDN for documentation。第一個參數是對您希望執行的函數的引用。第二個參數是毫秒的延遲。


請記住,這不會阻止執行此語句後出現的其他javascript。這將繼續立即執行。它將安排該特定功能在未來的規定時間自行運行。所以,這不像其他語言中的sleep()。它不會停止執行6秒。相反,它會安排此特定功能稍後運行,但會繼續執行其餘的JavaScript。

所以,如果你有這樣的代碼:

setTimeout(hideDiv, 6000); 
document.getElementById("hello").style.color = "red"; 

顏色會立即改變,hideDiv()將在6秒內被調用。

1

試試這個:

setTimeout(functionName,5000); 
0

使用setTimeout功能,像這樣:

setTimeout(hideDiv, 6000); 
[在Javascript睡眠(中