在 JavaScript 中强制 DOM 刷新

发布于 2024-12-22 21:54:52 字数 231 浏览 0 评论 0原文

我正在单击事件处理程序中运行一个循环,执行以下操作:

  • 运行大量计算(需要 1-3 秒)
  • 调用 $("
  • + data +
  • ").appendTo($(" #results"))

问题是,在循环终止之前 DOM 不会刷新。运行循环 100 次迭代这需要太长时间,我想在每次计算时给出一个结果。

如何强制刷新 DOM?

I am running a loop within a click event handler doing the following:

  • run heavy computation (takes 1-3s)
  • call $("<li> + data + </li>").appendTo($("#results"))

The problem is, that the DOM is not refreshed until the loop has terminated. Running the loop for 100 iterations this takes too long, I would like to give a result every time I computed one.

How can I force the DOM to be refreshed?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凉城已无爱 2024-12-29 21:54:52

如果您使用的浏览器支持它,workers 非常适合这种情况。

如果没有,请在每次计算后使用 setTimeout 来中断调用堆栈并允许浏览器在渲染上使用时间。

If you are in a browser that supports it, workers are ideal for this situation.

If not, use setTimeout after each computation to break the callstack and allow the browser to use time on rendering.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文