1
我有動態創建,與jQuery的分層列表的性能問題。我從服務器獲取通過JSON我的數據,然後用這使其客戶端:jQuery大型列表性能
for (var i = 0; i < myArray.length; i++){
var subArr = myArray[i];
var newElm = "<li id="+subArr.node_order+" value="+subArr.id+" class='list-item'><span>"+subArr.node_name+"</span><ul></ul></li>";
var parent = $("li#"+subArr.parent_id+" ul");
if(parent[0] != undefined){
$(parent[0]).append(newElm);
} else{
sortable.html("<ul>"+newElm+"</ul>");
}
}
列表可高達15,000名單「禮」的項目。與約6500項目,數據從服務器檢索大約。 1.5秒,但在建立和繪製列表之後大約需要4.4秒。這是迄今爲止我所見過的最快的,但11k +物品是正常的。我也想要最小化任何插件,因爲這個列表是可拖拽的且非常動態的,所以拖拽/放置不會被激活,直到懸停在「範圍」上。
任何指針,非常感謝!
你需要打破它。在用戶看不到15k條目一次!首先得到最重要的 - 呈現客戶。然後進行到下一個..直到一切完成。或者你將需要使用服務器端渲染,而不是像linq,xml轉換等東西。 – ppumkin 2011-05-12 12:49:04
你可能想要把它分解成小部分,比如加載第一個500然後用ajax代碼從服務器獲得另一個500等等,但11k +很適合通過html和js處理(從我的觀點來看) – 2011-05-12 13:57:15