页面上有600个tr,id分别为id1,id2...id600
问题是我想控制这600个tr同时隐藏或者同时显示
用prototype中的 $
for (var i = 1; i <= 600; i++) {
$('tr_' + i).style.display = '';
}
这样会有大约5秒的延迟,浏览器没法反应
请问大侠有没有什么方法能缩减这些时间呢
我用document.getElementById()也没什么用
javascript控制大量页面对象反应迟钝,如何解决
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
7条回答
laochake 2008-11-14 13:30关注通过CSS控制,比较:
table.hideTr tr.hide{ display:none; } //插入500行 function insertRows(){ for(var i=0;i<500;i++){ var row = tb1.insertRow(); row.insertCell().innerHTML=i; if(i%2==0){//偶数列用样式控制 row.className="hide"; } } spanRowCount.innerHTML=tb1.rows.length; } //预插入500行 window.onload=function(){ insertRows(); } //通过class控制偶数行 var isShow0=true; function changeClass(){ isShow0=!isShow0; var d = new Date(); tb1.className= isShow0 ? "" : "hideTr" ; span0.innerHTML= new Date() - d; } //通过style控制奇数行 var isShow1=true; function changeStyle(){ isShow1=!isShow1; var d = new Date(); for(var i=0;i<tb1.rows.length;i++){ if(i%2==1){//控制奇数列的显隐 tb1.rows[i].style.display = isShow1 ? "" : "none"; } } span1.innerHTML= new Date() - d; }
[code="java"]</head> <body>总行数:
用时:
用时:[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报