在JavaScript中强制刷新DOM

4
我正在一个点击事件处理程序中运行一个循环,执行以下操作:
  • 运行耗时1-3秒的重计算
  • 调用$("<li> + data + </li>").appendTo($("#results"))
问题是,在循环结束之前,DOM不会刷新。如果循环100次,这将花费太长时间,我希望在每次计算出结果时立即显示。
如何强制DOM刷新?

1
http://tobyho.com/2011/11/03/delaying-repeatedly/ - airportyh
1
顺便提一下,你也可以使用.appendto("#results") - pimvdb
1个回答

4
如果你使用支持的浏览器,workers 是这种情况下的理想选择。
如果不支持,每次计算后使用 setTimeout 来打破调用堆栈并允许浏览器使用时间渲染。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接