带有延迟的javascript自定义对话框

时间:2013-02-17 10:24:31

标签: javascript

我想弹出一个对话框,5秒后,我希望该页面重定向到google.com。因此,我需要一个延迟函数,但settimeout()不起作用。这是代码。如何在重定向之前延迟5秒... 顺便说一句,我正在使用某人的javascript代码来显示哪些内容完美无缺。

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

2 个答案:

答案 0 :(得分: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 :(得分:1)

您必须将重定向放在函数

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