我正在尝试使用以下代码
重新加载屏幕。
//Display results, at least that was the idea.
for(var player = 0; player < players.length; player++)
{
resultString = players[player][6]
if (result == null) { resultString += ", its a tie."; }
else
{
resultString += (player == 0 ? ", you" : ", cassino") +
(player == result ? (player == 0 ? " win" : " wins") :
(player == 0 ? " lose" : " loses"));
document.getElementById(player == 0 ? "player" : "casino").
childNodes[0].nodeValue = resultString;
}
showHand(players[player]);
}
//Lag for 3 seconds while displaying a countdown. At least it lags alright.
var time = new Date().getTime();
while (((time / 1000) + 3) - (new Date().getTime() / 1000 ) > 0)
{
document.getElementById("call").childNodes[0].nodeValue = "Next round in "
+ Math.ceil(((time / 1000) + 3) - (new Date().getTime() / 1000 ))
.toFixed(0);
}
//Reload screen. Working fine.
dealHands();
}
问题是,在加载重新加载屏幕之前,通过运行此代码而不是冻结 3秒钟,即使console.log指出要在“”中显示的值没有问题//显示结果“程序的部分。事实上,如果我在评论“//滞后3秒......”之后评论部分,结果将按预期显示。 是否有一些我不知道的覆盖代码的.time()属性?
答案 0 :(得分:0)
如果你想在3秒后显示倒计时,你可以把你的代码重新加载到一个函数中的屏幕,并使用window.setTimeout
调用该函数,这不会冻结窗口,并且在调用后会调用函数你在那里指定的时间。
对于倒计时显示,您可以使用window.setInterval
。