$.each(dataresp, function(key,val){
cnt=cnt+1;
var idval=cnt+"_content";
var str = '<div id="'+idval+'"></div>'
$(".Container").append(str);
myProcessMethod(idval);// in this method I used to fill the above div with content
});
when there is too much data , html page is not showing . browser page got freeze until the loop finishes.
完成循环后,能够看到该页面。 如何避免冻结。即。在逐个完成后在浏览器页面中显示数据。
答案 0 :(得分:0)
您可以创建文档片段,在其中附加元素,然后将片段附加到DOM。
var docFrag = document.createDocumentFragment();
$.each(dataresp, function(key,val){
cnt=cnt+1;
var idval=cnt+"_content";
var d = document.createElement('div');
d.id = idval;
docFrag.appendChild(d);
myProcessMethod(idval);// in this method I used to fill the above div with content
});
$(".Container").append(docFrag)
答案 1 :(得分:0)
$.each(dataresp, function(key,val){
_.defer(function(){
cnt=cnt+1;
var idval=cnt+"_content";
var str = '<div id="'+idval+'"></div>'
$(".Container").append(str);
myProcessMethod(idval);
});
})
defer是下划线的函数,只是setTimeout(fn,0)
的别名,
前端js,所有重函数都应该作为延迟运行。