6
我使用jsTree(1.0-rc3)與選項加載數據的AJAX和我有一個問題,加載約〜2000個孩子節點。雖然服務器在幾秒鐘內響應,但只需約jsTree在瀏覽器中呈現結果(chrome,FF)即可。除此之外,FF還會返回有關'jquery-1.7.2.min.js'沒有響應的信息。同樣數量的數據會凍結IE。它是否過載了數據?或者它是一種錯誤?是否有任何可改變的因素,可以幫助我更快地渲染?jsTree - 渲染優化|很長的渲染與2000個節點
jQuery("#dependency-tree").jstree(
{
'plugins':['themes', 'json_data', 'ui', 'core', 'types', 'sort'],
"json_data":{
"progressive_render": true,
"data":initData,
cache:false,
"ajax":{
"url":function (node)
{
return appContext + 'GetUnitsNode/'
+ node.attr('id');
},
dataType:"text",
"success":function (data)
{
if (data == "none")
{
return false;
}
return jQuery.parseJSON(data);
}
}
},
"ui":{
'select_limit':1
},
"core":{
'animation':0,
'html_titles':true
},
"themes":{
"theme":"rules",
"dots":true,
"icons":true
},
"types":{
"types":{
"default":{
"icon":{
"image":appContext + "/img/orange.png"
}
}
}
},
"sort":function (a, b)
{
return this.get_text(a).toUpperCase() > this.get_text(b).toUpperCase() ? 1 : -1;
}
}).bind("select_node.jstree", function (event, data)
{
submitedNodeId = data.rslt.obj.attr('id');
submitedNodeTypeId = data.rslt.obj.attr("typeId");
submitedNodeLast = data.inst.is_leaf(data.rslt.obj);
g_node_text = jQuery(data.rslt.obj).children().eq(1).html();
});
肯定jstree如果低迷的演示,甚至有3/4的節點......我可以」不要想象你用2K的經驗... BTW在HTML5中應該是可行的。也許用簡單的類切換(摺疊/展開)和DOM操作作爲最後的手段 – CapelliC