2013-02-17 93 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);