2013-07-18 64 views
1

我有一個快速的問題:延遲重定向頁面

我注意到,在這兩個代碼之間的區別:

function urlLogin() 
{ 
    window.location = "http://crs.local"; 
} 

setTimeout(urlLogin(),5000) 

如果我用這個,我馬上轉向。

setTimeout(function(){window.location = "http://crs.local"},5000); 

但這一個,它按預期工作。我只想問兩者之間的區別?

回答

3

應該沒有區別,兩者都應該延遲5秒。你確定你沒有setTimeout(urlLogin(), 5000)?這似乎是一個常見的錯誤。

正確的方法是你在「糾正」這個問題之前所擁有的:D:setTimeout(urlLogin, 5000),傳遞函數並且不調用它。

+0

它似乎在這裏是錯誤的。 –

+0

@Amadan對不起,其urlLogin()我錯誤的上面的類型。 –

+0

啊,我明白了。謝謝! –

0

你寫它的方式,就好像urlLogin的輸出是setTimeout的第一個參數的輸入。第一個參數應該是函數,而不是函數的結果。

試試這個:

setTimeout(function() { 
    urlLogin(); 
},2000); 
+0

只要刪除'()'就足夠了。 – Dahaka