我修改了一下 function toshow(col,showStats){ var col; var showStats; var sumShow=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0); var sumHidden=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0); for(k=1;k<col;k++){ var ui=document.getElementById("ddf_"+k); var checkb=document.getElementById("cid_"+k); if(showStats==0){ checkb.disabled=true; if (!checkb.checked){ for(var j=1;j<14;j++){ var su=document.getElementById(j+"_"+k); sumShow[j-1] +=parseFloat(su.innerHTML); } //end for ui.style.display="none"; } //end if } //end if else{ //else if checkb.disabled=false; if (!checkb.checked){ for(var j=1;j<14;j++){ var su=document.getElementById(j+"_"+k); sumHidden[j-1] +=parseFloat(su.innerHTML); }//end for j ui.style.display="block"; } //end if } //end if }// end for
for(k=1;k<col;k++){ var ui=document.getElementById("ddf_"+k); if(showStats==0){ if (!checkb.checked){ ui.style.display="none"; } //end if } //end if else{ //else if if (!checkb.checked){ ui.style.display="block"; } //end if } //end if }// end for
for(var k=1;k<14;k++){ var butt=document.getElementById(k+"_"+col); if(showStats==0){ butt.innerHTML=parseFloat(butt.innerHTML) - parseFloat(sumShow[k-1]); } else{ butt.innerHTML=parseFloat(butt.innerHTML) + parseFloat(sumHidden[k-1]); } } var gsf=document.getElementById('1_'+col).innerHTML * 1; var yqf=document.getElementById('9_'+col).innerHTML * 0.7; var waif=document.getElementById('11_'+col).innerHTML * 1; document.getElementById("onlyG").innerHTML=gsf * 1 - yqf * 1 - waif * 1; } 麻烦大侠看看。还是很慢哦。cpu占用的确高。
for(var i=0;i<a.length;i++){
a[i] = a[i]+1
}for(var i=0;i<a.length;i++){
alert(a[i])
}
var sumShow=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0);
var sumHidden=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0);
var col=15;
for(var k=1;k<14;k++){
var butt=document.getElementById(k+"_"+col);
if(showStats==0){
alert(sumShow[j-1] + 1);
}
else{
alert(butt.innerHTML * 1 + parseFloat(sumShow[j-1]));
}
} 大家看看。这样 显示出来为nan.
1 2 3 4 5 6 7 8
a1 1 2 3 4 5 6 7 8
a2 1 2 3 4 5 6 7 8
a3 3 3 3 3 3 3 3 3
a4 4 4 4 4 4 4 4 4
...
..
..
ar 100 100 100....
有大于100行的样子。。
我的想法是,把a1-a50的行,隐藏。并计算隐藏中每列的和。并和ar里面的和相减少。例如 我隐藏 a1和a2 两行。
结果是a3 3 3 3 3 3 3 3 3
a4 4 4 4 4 4 4 4 4
..
..
..
ar 98 96 94 92 90 88 86我的代码很慢。我发一下。 function toshow(col,showStats){
var col;
var showStats;
var sumShow=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0);
var sumHidden=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0);
for(k=1;k<col;k++){
var ui=document.getElementById("ddf_"+k);
var checkb=document.getElementById("cid_"+k);
if(showStats==0){
checkb.disabled=true;
if (!checkb.checked){
for(var j=1;j<14;j++){
var su=document.getElementById(j+"_"+k);
sumShow[j-1] +=parseFloat(su.innerHTML);
} //end for
ui.style.display="none";
} //end if
} //end if
else{ //else if
checkb.disabled=false;
if (!checkb.checked){
for(var j=1;j<14;j++){
var su=document.getElementById(j+"_"+k);
sumHidden[j-1] +=parseFloat(su.innerHTML);
}//end for j
ui.style.display="block";
} //end if
} //end if
}// end for
for(var k=1;k<14;k++){
var butt=document.getElementById(k+"_"+col);
if(showStats==0){
butt.innerHTML=parseFloat(butt.innerHTML) - parseFloat(sumShow[k-1]);
}
else{
butt.innerHTML=parseFloat(butt.innerHTML) + parseFloat(sumHidden[k-1]);
}
}
.getElementById("onlyG").innerHTML=gsf * 1 - yqf * 1 - waif * 1;
}
请教各位大侠帮我优化一下。如果有50条以上的数据。就会很慢。或者给我说个法子。谢谢了。
function toshow(col,showStats){
var col;
var showStats;
var sumShow=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0);
var sumHidden=new Array(0,0,0,0,0,0,0,0,0,0,0,0,0);
for(k=1;k<col;k++){
var ui=document.getElementById("ddf_"+k);
var checkb=document.getElementById("cid_"+k);
if(showStats==0){
checkb.disabled=true;
if (!checkb.checked){
for(var j=1;j<14;j++){
var su=document.getElementById(j+"_"+k);
sumShow[j-1] +=parseFloat(su.innerHTML);
} //end for
ui.style.display="none";
} //end if
} //end if
else{ //else if
checkb.disabled=false;
if (!checkb.checked){
for(var j=1;j<14;j++){
var su=document.getElementById(j+"_"+k);
sumHidden[j-1] +=parseFloat(su.innerHTML);
}//end for j
ui.style.display="block";
} //end if
} //end if
}// end for
for(k=1;k<col;k++){
var ui=document.getElementById("ddf_"+k);
if(showStats==0){
if (!checkb.checked){
ui.style.display="none";
} //end if
} //end if
else{ //else if
if (!checkb.checked){
ui.style.display="block";
} //end if
} //end if
}// end for
for(var k=1;k<14;k++){
var butt=document.getElementById(k+"_"+col);
if(showStats==0){
butt.innerHTML=parseFloat(butt.innerHTML) - parseFloat(sumShow[k-1]);
}
else{
butt.innerHTML=parseFloat(butt.innerHTML) + parseFloat(sumHidden[k-1]);
}
}
var gsf=document.getElementById('1_'+col).innerHTML * 1;
var yqf=document.getElementById('9_'+col).innerHTML * 0.7;
var waif=document.getElementById('11_'+col).innerHTML * 1;
document.getElementById("onlyG").innerHTML=gsf * 1 - yqf * 1 - waif * 1;
}
麻烦大侠看看。还是很慢哦。cpu占用的确高。