用json数据动态填充表需要太长时间

时间:2014-12-23 10:05:47

标签: javascript json dom

我有以下表格,当某些事件发生时会动态更改:

<div class="scrollable" id="time-stats">
    <table id='table126'>
       <thead>
        <tr style="font-weight:bold;">
          <td  id="time-stats-name">Time stats</td>
          <td  id = "time-stats-date"></td>
          <td  id = "operator_name"></td>
          <td  id = "window_number"></td>
        </tr>
        <tr>
          <th id="operator_title"></th>
          <th id="windowsNo"></th>
          <th id="laneName"></th>
          <th class="ticket_number"></th>
          <th class="create_time"></th>
          <th id="startTime"></th>
          <th id="endTime"></th>
          <th class="waiting_time"></th>
          <th id="duration"></th>
        </tr>
    </thead>
    <tbody></tbody>
</table>

在javascript中动态填充json数据(在本例中为_durationStats),如下所示:

html = "";
var time_stats_tbody = jQuery("#time-stats tbody");

jQuery(_durationStats).each(function(ix) {
    var el = _durationStats[ix];
    html +="<tr";
    if(operator_ == "allOperators"){
        html+=" data-lane='" + el.target+ "'><td>" + _units[el.target]+ 
        "</td><td>" + el.windowNo+ "</td>";
    }
    html+="><td>" +
    el.laneText+"</td><td>"
    + el.ticketNo + "</td><td>"
    + el.createTime + "</td><td>"
    + el.startTime + "</td><td>" + el.endTime
    + "</td><td>"
    + el.waitTime + "</td><td>"
    + el.duration + "</td></tr>";
});

time_stats_tbody.html(html);

现在,如果json对象太多,浏览器会冻结,构建表需要很长时间。也就是说,我怀疑最后的javascript行time_stats_tbody.html(html);花了太长时间。我该怎么做才能优化它?

0 个答案:

没有答案