是否可以加快向DOM添加一组元素?

时间:2013-12-12 15:03:03

标签: javascript dom gwt batch-processing

我有一个容器小部件,经常更新。当某些事件发生时,我需要将一个孩子附加到容器,或者删除其中一个孩子。将此视为聊天参与者列表,其中包含收听/离开聊天事件的聊天参与者。

如果孩子的数量非常多(几百个)以及大量事件到来,那么DOM的绘制开始变慢。用户注意到延迟。即向容器启动添加/删除子元素需要花费越来越多的时间。

如何加快这个过程?

我想使用一种“批量更新”技术,这种技术在数据库应用程序中是众所周知的。确实,如果我收集更新列表的事件并运行一次更新列表在一秒钟内 - 这会加快我的计算速度吗?事实上,要添加的小部件数量不会改变,但可能是通过逐个运行此任务我可以以某种方式获得“批处理”效果?

这只是猜测。

我正在使用GWT,但不是重点。在IE8中执行速度特别慢,但我的问题是跨浏览器。

1 个答案:

答案 0 :(得分:1)

在添加子项之前为容器设置display:none。

之后你可以把它恢复到原来的状态