首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

是否循环引用,导致了内存泄露

2013-09-07 
是不是循环引用,导致了内存泄露本帖最后由 bubsy 于 2013-09-02 16:48:46 编辑代码如下:$(#intodb_button

是不是循环引用,导致了内存泄露
本帖最后由 bubsy 于 2013-09-02 16:48:46 编辑 代码如下:

$("#intodb_button").click(function(){
$(this).attr({"disabled":"disabled"});
loopin();
});

function loopin(){
var hisdbid=$("#hisdbid").text();
var nextid=$("#nextid").text();
var maxid=$("#maxid").text();
$.get("index.asp",{act:"intodb",hisdbid:hisdbid,nextid:nextid,maxid:maxid},function(data,status){
if(status=="success"){
//alert(data);
var strd = data.split("\|\|\|");
$("#disp").prepend("<li>"+data+"</li>");
if(Number(strd[0])==Number(maxid)){
$.get("index.asp",{act:"finish_indb",hisdbid:hisdbid},function(data,status){
if(status=="success"){
$("#main_page").css({"display":"block"});
alert("回写标志成功,导入数据库作业结束")
}
})
}else{
$("#nextid").html(Number(strd[0])+1);
loopin();//再次执行loopin()
}
}
})
};


当程序循环到2300多次时,就停住了!为什么?如何修改 JS ajax
[解决办法]
如果页面的 DOM 元素太多操作是卡住的
[解决办法]
loopin(); 的时候只收集数据 不要进行dom操作
这个时候可以显示一个加载条 

等数据收集完了
进入 alert("回写标志成功,导入数据库作业结束")   这里的时候
把数据变成你的 dom
注意大量的dom操作的时候 先隐藏父dom  操作完了在显示出来

试试看把

热点排行