我想弹出一个对话框,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>
答案 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);