2010-04-16 147 views
6

如何在JavaScript中設置延遲觸發器以在指定時間後執行函數?在JavaScript中執行函數前等待

我的程序將等待5秒鐘來執行demo();,如果它在5秒內未能開始演示,我需要自動執行sample()

這是可能做的JavaScript嗎?

回答

10

可以在一段時間內用的setTimeout

後調用功能

我不知道,我得到了「如果它不能與在5秒內演示啓動」你的問題的一部分,因爲上面的代碼在5秒內執行演示()。

1

您可以使用setTimeout在javascript中暫停。

setTimeout(function(){callSample();}, 5000); 

然後設置一個全局變量demo(),這樣就可以識別demo()是否已被稱爲與否,然後在

function callSample() 
{ 
    if (variable set) 
    { 
     sample(); 
    } 
} 
2
<script language="javascript"> 
function sample() { 
    alert('sample here'); 
} 
function demo() { 
    alert('demo here'); 
} 
setTimeout("sample()", 5000); 
</script> 

<input type=button onclick="demo();"> 
+0

很好的解釋!謝謝你這麼much.But,其實你的腳本將involk兩個函數的5 seconds.actually我在一個時間只需要一個功能區間。 – abhis 2010-04-16 07:06:04