[英]The setTimeout method works strangely
我创建了一种让用户等待特定时间的方法。 (等待窗口)
function hideMe()
{
document.getElementById('rotate').style.visibility= "hidden";
}
function showMe()
{
document.getElementById('rotate').style.visibility= "visible";
}
function wait()
{
showMe();
setTimeout(hideMe, 2000); // To show certain window for 2 seconds
}
但是,即使我增加时间,窗口也会闪烁。 它并没有改善很多。
这是为什么?
什么是替代方法?
好吧,抱歉,我不能在该项目中使用jQuery。
更新抱歉...我使用visibility
而不是display
但是它仍然无法工作。 我发现在命令wait()
之后我将向服务器发送一些请求,这会影响setTimeout()
。
喜欢:
wait();
httpReq();
如果我添加alert("after wait()")
像这样:
wait();
alert("after");
在wait()
之后将不执行警报;
在您的代码中,您正在使用
document.getElementById('rotate').style.display= "visible";
其中显示不具有“可见”属性。 您要么必须使用“ block”,“ inline”。 或者您也可以将显示属性设置为空白。
document.getElementById('rotate').style.display= "";
检查是否有帮助。 根据OP的评论
setTimeout不是同步命令。 如果您希望在执行setTimeout之后执行某些操作。 您必须将其添加到setTimeout函数。 例如
setTimeout(function(){hideMe();alert("test");}, 2000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.