javascript – 当我的脚本执行一些繁重的处理时,如何强制浏览器重绘?

我正在使用innerHTML属性动态修改DIV,以报告需要几秒钟才能完成的进程.问题是在Firefox上,在脚本完成之前,页面实际上并未重新呈现以反映该更改.这使得应用程序感觉迟钝.有没有办法确保HTML的更改立即显示,即使更多的脚本正在运行?
浏览器是单线程的.在脚本运行时,浏览器无法执行任何其他操作.如果你想做一个像进度表这样的东西,你必须使用setTimeout()setInterval(),并将你的任务分解成一个间隔运行的较小块.这会在脚本运行之间留下空白,将控制权交还给浏览器,浏览器可以重新绘制.
https://stackoverflow.com/questions/1209689/how-can-i-force-the-browser-to-redraw-while-my-script-is-doing-some-heavy-proces

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – 当我的脚本执行一些繁重的处理时,如何强制浏览器重绘?