如何使用JS操作DOM而不阻止网页?

时间:2016-02-18 14:28:04

标签: javascript dom webpage blocking

我需要用JS操作DOM(在OpenStreetMap上创建引脚和标签对象)。操纵过程需要花费很多时间。 如何才能阻止网页? 用户应该能够同时使用该网页。

2 个答案:

答案 0 :(得分:1)

您可以分批进行。在每个批处理结束时,使用短暂超时计划下一批setTimeout批次,以便浏览器有机会刷新显示,处理事件等。

此外,如果您执行的操作需要很长时间,因为它必须等待某些缓慢的操作(如网络请求),请在数据可用时通过回调启动,以非阻塞方式执行此操作。轮询而不放弃CPU将使浏览器认为脚本不再响应并询问用户是否要终止它。

答案 1 :(得分:0)

如果您正在做一些需要同步的同步作业,您可以这样做:

   setTimeout(function(){
      //write your js here
    },0)

这应解决