我有一个包含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/