我有一个循环,应该在循环递增时更新进度条,但是它只在循环实际完成后一次着色进度条.我记得有一个类似的问题,如果我使用alert语句,着色会起作用,所以我认为它与线程的并发性有关.为了解决我的旧问题,我使用了setTimeout.但是,这仍然没有让我的进度条实时着色.
这是我正在做的事情:
for (var i = 0; i < numOfRows; i++) {
setTimeout('ColourBlock(' + i + ')', 0);
// do_work
}
function ColourBlock (position){
document.getElementById("block" + position).style.backgroundColor = "orange";
}
Run Code Online (Sandbox Code Playgroud)
有人告诉我这可能是由于JavaScript优化?有人可以帮忙吗?