除非首先运行alert(),否则Javascript,图像在睡眠时不会改变

时间:2013-04-02 13:42:41

标签: javascript alert sleep

我有一个图像,当我将其放入绘制的框中时会改变颜色。

一旦将其放入盒子中,我就进入下一个屏幕。 但我希望首先进行短暂的等待。

但是当我介绍等待时...... 图像不会改变颜色..即使它确认颜色更改代码已经运行。

但是..如果我设置警报(“嗨”);在停止引擎的代码之前..然后在等待会话之前发生颜色变化。

好像是alert();正在幕后做一些事情,导致div的颜色变化正确发生。

如何在运行sleep方法之前强制进行此颜色更改?

有点像在不必让警报实际弹出的情况下运行警报。

1 个答案:

答案 0 :(得分:2)

没有睡眠方法,所以我猜你正在使用while循环进行“睡眠”。 while循环锁定浏览器并阻止页面更新。警报会稍微延迟并允许页面更新。

您需要做的是分解代码并使用setTimeout进行“睡眠”。

var img = document.getElementById("myImg");
img.src = "foo.gif";
function nextStep() {
    alert("do your next step here");
}

window.setTimeout(nextStep, 2000); //2 seconds