私のASP.NET Webページ内に一連のRGBカラーを表示する必要があります。 ASPアップデートパネルを使用してこれを達成することを望んでいましたが、アップデートはユーザーの介入なしに4秒または5秒ごとに順番に行われなければなりません。一連の色をJavaScriptで順番に表示
私の最初のJavaScriptコードは次のようになります。
document.getElementById('div').style.backgroundColor = "rgb(0,0,255)";
問題は、次のRGBの色の組み合わせを表示するようになっています。 は、私は別のポストにここで見つける待ち「ループ」を試し:
wait(7000); //7 seconds in milliseconds
function wait(ms) {
var start = new Date().getTime();
var end = start;
while (end < start + ms) {
end = new Date().getTime();
}
}
問題は、それが動作しないということです。私は試しました:
document.getElementById('fondRGB').style.backgroundColor = "rgb(0,0,255)";
wait(7000);
document.getElementById('fondRGB').style.backgroundColor = "rgb(128,128,128)";
wait(7000);
document.getElementById('fondRGB').style.backgroundColor = "rgb(0,0,0)";
しかし、最初のrgbカラーはこれまでに受け継がれていますか?
Aaah .. 'setInterval'を使用してください。 – Rayon
タイミングのために 'do-nothing'ループを使用しないでください。代わりにsetInterval()(繰り返し)またはsetTimeout()(oneshot)を使用してください。 –
wait()関数を使用せず、代わりにsetTimeout()またはsetInterval()を使用するとRayonとMarc Bが言っているのは、これらのメソッドが両方とも非同期であるためです。ただし、wait()関数は完全に同期しており、関数の実行が終了するまでブラウザがクリック、キーストローク、イベントなどを処理しないようにします。 Javascriptはシングルスレッドなので、すべての同期コードがブロックされています。 – mhodges