Javascript for loop architecture for Html Rendering



我有一个包含 10 个顶级对象的大数组文件。他们每个人都有10-100个孩子,每个孩子有10-100个孩子。

我现在处理它的方式是,如果一个三重 for 循环循环遍历 2000 个对象并为这些对象构建 html 并将其附加到页面。

$('body').append(generatedHTML);

我现在面临的问题是渲染需要很长时间,并且在处理时页面冻结。

有没有更好的方法来实施这样的解决方案?例如,一次加载一个步骤,以便用户在加载页面时仍然可以与页面交互?

下面的示例代码

for (var i = 0; i < rootElements; i++) {
  var child = rootElements[i];
  var new_obj = child.secondElement;
  for (var j = 0; j < new_obj.length; j++) {
  // Another for loop to process the children of new_obj

也许您可以使用setTimeout()来延迟加载内容。你也可以看看这个:http://www.javascriptkata.com/2010/08/10/nofreeze-a-library-that-avoids-freezing-in-javascript/

最新更新