-1
我明白这个问题已经被问了很多次,但是我找不到解决我的问题,尽管搜索谷歌和stackoverflow和应用各种尝试。Javascript setTimeout不起作用
这里是我的JS:
function Redirect(id)
{
window.open("go.php?id=" + id, "_blank");
}
function LinkPop(id)
{
xmlObj = new XMLHttpRequest();
xmlObj.open("GET", "pop.php?id=" + id, false);
xmlObj.send();
document.getElementById(id).style.fontSize = xmlObj.responseText + "px";
document.getElementById(id).title = "Clicked " + (xmlObj.responseText - 18) + " times";
window.setTimeout(function(){Redirect(id);}, 2000);
}
一切从2秒延迟,新页面打开工作分开。正如你所看到的,我尝试了一个没有帮助的闭包。我希望我已经错过了非常基本的东西...
感谢您的任何帮助。
对我来说没问题。究竟发生了什么?错误? “重定向”功能是否真的受到打击?另外,在JS中,最好将大括号放在同一行,并且不要大写函数名称,除非您计划实例化,而不是仅仅调用它们。 – Utkanos 2012-07-07 10:19:02
将'xmlObj.responseText'转换为整数。确保存在带'id'的元素('document.getElementById(id)'不能为空)。 – 2012-07-07 10:26:48
我把大括号放在同一行上,我习惯用PHP和C编程一个特定的方式.Redirect()函数似乎没有被调用。我使用alert()调用来测试它。 – Lee 2012-07-07 10:27:02