-3

我想弹出一个对话框,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>
4

2 回答 2

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例如。

于 2013-02-17T10:28:26.260 回答
1

您必须将重定向放在一个函数中

setTimeout(function(){
    window.location.href ='http://google.com';
}, 5000);
于 2013-02-17T10:30:53.783 回答