2013-02-17 88 views
-2

我想彈出一個對話框,5秒鐘後,我想讓頁面重定向到google.com。因此,我需要一個延遲功能,但settimeout()不起作用。這裏是代碼。如何在重定向前延遲5秒... 順便說一句,我使用某人的JavaScript代碼來顯示哪些工作完美。延遲的JavaScript自定義對話框

<a href="javascript:showDialog('Error','You have encountered a critical error.','error',10);setTimeout(window.location.href ='http://google.com', 5000);">Error</a> 
+1

https://developer.mozilla.org/en-US/docs/DOM/window.setTimeout – Andreas 2013-02-17 10:27:30

回答

2

setTimeout工程,它只是沒有正確使用。嘗試是這樣的:

的JavaScript

function clickHandle() { 
    showDialog('Error','You have encountered a critical error.','error',10); 
    setTimeout(function() { 
     window.location.href ='http://google.com'; 
    }, 5000); 
} 

HTML

<a href="clickHandle()">Error</a> 

setTimeout第一個參數是要執行的代碼(例如字符串進行評估),但更好的做法是爲了避免eval,而是使用回調(就像我的例子)。

把你的點擊處理程序直接放在HTML中並不是個好主意。例如,我建議你使用onclick

1

你必須把你的重定向的功能

setTimeout(function(){ 
    window.location.href ='http://google.com'; 
}, 5000);