我有一個名爲refreshHistory()的方法,它基本讀取本地存儲的json列表(使用https://github.com/marcuswestin/store.js/),並按照它們的存儲順序填充列表。jQuery:重複調用時重繪函數極其緩慢
每次發生用戶操作時,都會調用此方法。但是隨着列表越來越大,它會拖慢瀏覽器爬行。
function refreshHistory() {
var records = typeof store.get('history') == "undefined" ? 0 : store.get('history').history;
;
if (records == 0) {
$('#content #historyView').html('<i>history show up here in order.</i>');
} else {
var xhistory = '<div id="history">';
for (var i = 0; i < records.length; i++) {
var xaction = records[i]
xhistory += '<div id="action">' + (i + 1) + '. ' + '<b>' + xaction.action + "</b> " + xaction.caption + '<span class="delaction" id=' + i + ' data-stamp="' + xaction.msg + '" style="color:red;cursor:pointer;">' + '[remove]' + '</span></div>'
}
xhistory += "</div>"
$('#qtip-0-content #historyView').html(xhistory);
}
}
我建議用你的問題的簡化版本創建一個[jsfiddle](http://jsfiddle.com),這樣其他人可以給你更具體的反饋。 – OlliM 2014-10-28 10:44:55