jsTree (1.0-rc3)를 사용하여 AJAX로 데이터를로드하는 옵션이 있으며 약 2,000 개의 하위 노드를로드하는 데 문제가 있습니다. 서버가 몇 초 내에 응답하는 동안 브라우저에서 결과를 렌더링하는 데 약 40 초 밖에 걸리지 않습니다 (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 부진 경우의 데모 ... 나는 '수 2K로 당신의 경험을 상상해보십시오 ... HTML5에서 BTW가 가능해야합니다. 어쩌면 간단한 클래스 전환 (폴드/폴드)과 최후의 수단으로서의 DOM 조작 – CapelliC