代码如下:
$("#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 操作完了在显示出来
试试看把