JQery jstree 大數據量問題解決方法
更新時間:2010年03月09日 21:05:54 作者:
Jquery 結合jstree 動態(tài)生成一棵樹,如果某一節(jié)點下目錄超過500個,IE 會提示是否允許JS腳本運行,并且目錄加載不全,大約只加載了300左右。
問題解決:生成的樹是逐級加載的,在open函數中有一個生成節(jié)點的代碼:
代碼
for (var i=0; i<data.length; i++)
{
var n = TREE_OBJ.create(data[i], $(NODE));
if (onaddnode) onaddnode(n);
}
var firstChild = TREE_OBJ.children(NODE)[0];
if ($(firstChild).attr('id')==-1)
TREE_OBJ.remove(firstChild);
問題就出 TREE_OBJ.create函數上,這個函數很消耗性能。代碼改成如下:
代碼
var children="";
for (var i=0; i<data.length; i++)
{
children += TREE_OBJ.parseJSON(data[i]);
}
if (children != "")
$(NODE).children('ul').html(children);
var firstChild = TREE_OBJ.children(NODE)[0];
if ($(firstChild).attr('id')==-1)
TREE_OBJ.remove(firstChild);
代碼
復制代碼 代碼如下:
for (var i=0; i<data.length; i++)
{
var n = TREE_OBJ.create(data[i], $(NODE));
if (onaddnode) onaddnode(n);
}
var firstChild = TREE_OBJ.children(NODE)[0];
if ($(firstChild).attr('id')==-1)
TREE_OBJ.remove(firstChild);
問題就出 TREE_OBJ.create函數上,這個函數很消耗性能。代碼改成如下:
代碼
復制代碼 代碼如下:
var children="";
for (var i=0; i<data.length; i++)
{
children += TREE_OBJ.parseJSON(data[i]);
}
if (children != "")
$(NODE).children('ul').html(children);
var firstChild = TREE_OBJ.children(NODE)[0];
if ($(firstChild).attr('id')==-1)
TREE_OBJ.remove(firstChild);
相關文章
jQuery dateRangePicker插件使用方法詳解
這篇文章主要為大家詳細介紹了jQuery dateRangePicker插件的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07