0

我的网页加载时间过长。原因是该页面有一个包含大约 3000 列的 HTML 表,并且每列中都有一个文本框。有没有办法让我可以减少加载时间或建议是否有其他选择。

提前致谢

编辑 - 好的,让我告诉你确切的情况,我的表格需要显示日期数据,而日期(如 2012 年 12 月 14 日)将是列标题本身。最新日期将是第一列,然后会出现过去的日期,例如 (14-Dec-2012|13-Dec-2012|12-Dec-2012 .....) 每天系统日期更改时将添加一个新列作为第一列。大约有200行。它是一个 JSP 页面,在 for 循环中我首先创建表头,然后在第二个 for 循环中创建包含文本框中值的表格单元格(以便用户可以随时编辑它们)。

代码示例 - 标题 -

<%
    Date today = new Date();
    String col = "";
    today = RDUtils.addDays(today, 1);
for(int i=0;i<=columnCount;i++){
    today = RDUtils.addDays(today, -1);
    col = RDUtils.getStringDateCol(today);
%>
<th class="TableHeader"><div><%=col%></div></th>
<%} %>

表格单元格 -

for(int j=0;j<=columnCount;j++){%>
    <input maxlength="5" onblur="fillZero(this);" onFocus='clearField(this);' onkeypress="if (checkEnter())return false;" onkeyup='if (checkEnter()) move("<%=i %>");' size="5" type="text" name="txtEntry<%=de.getId()%>" value="<%=val%>" id="<%=de.getId()%>"/></div> </td>

JS 函数 -

function checkEnter(e){
    characterCode = e.keyCode;
    return characterCode == 13;
}
function fillZero(obj){
if(obj.value==''){
    obj.value = 0;
}
 }
 function clearField(obj){
var perfix = obj.name.substring(8, obj.name.length);
var chkObj = document.getElementById('deCheck'+perfix);
if(!chkObj.checked)chkObj.checked=true;
if(obj.value==0){
    obj.value = '';
}
 }
4

1 回答 1

0

最好使用Datatables使用分页。

并使用 AJAX 方法。

$(document).ready(function() {
    $('#example').dataTable( {
        "bProcessing": true,
        "sAjaxSource": '../ajax/sources/arrays.txt'
    } );
} );
于 2012-12-24T06:47:42.810 回答