slice函数拆分数组
问题场景: 有一个查询页面,数据有7000多条,当时没有分页,每次ajax查询出来全部加载会死掉.当时时间紧,想在页面做一个延迟加载.
但是 setTimeout 函数竟然还会阻挡页面事件往下走,这个有点没理解.
最后取巧了算是完成功能.此处使用slice函数拆分数组
var result=[];
if(data["list"]){
var datas=data["list"],dlength=data["list"].length,index=61;
if(dlength<60){
lazyLoad(data["list"]);
}else{
jQuery("#show_body").append("<tr><td colspan='14' >当前查询共有["+dlength+"]条数据,为提高效率,只显示最近的60条.可以输入更多条件精确查找!</td></tr>");
lazyLoad(datas.slice(0,60));
while(index<dlength){
var _x=index+100;
if(_x>dlength){
_x=dlength;
}
result.push(datas.slice(index,_x));
index=_x;
}
//全部加载太慢,会卡死页面
//lazyLoading(result);
//setTimeout(lazyLoading(result), (5000));
}
}