2012-11-22 2 views
6

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(); 
     }); 
+0

jstree 부진 경우의 데모 ... 나는 '수 2K로 당신의 경험을 상상해보십시오 ... HTML5에서 BTW가 가능해야합니다. 어쩌면 간단한 클래스 전환 (폴드/폴드)과 최후의 수단으로서의 DOM 조작 – CapelliC

답변

2

시도해 보셨습니까?

  • progressive_render

    progressive_render 부울. 기본값은 false입니다. 이 옵션을 true로 설정하면 반환 된 JSON의 보이는 (열린 노드) 부분 만 DOM 노드로 변환되고 숨겨진 부분은 저장되고 (노드가 표시 될 때) 온 디맨드로 구문 분석됩니다. 당신이 무거운 DOM 초래 큰 중첩 된 나무가있을 때 유용합니다

  • AJAX 로딩도 3/4 노드가 반드시

관련 문제