このコードで、while ループが終了するまで CSS の変更が完了しないのはなぜですか? ループによってブラウザーがハングすることはわかっていますが、css の変更は同期的であるため、while ループが開始される前に終了すると考えていました。
おまけの質問: JavaScript スレッドの制御を放棄することなく、while ループに移動する前にその CSS の変更を完了する方法はありますか?
function run() {
var then = +new Date()
, now
;
$('#mydiv').css('display','block');
now = + new Date();
while (now - then < 5000) {
now = +new Date();
}
}