jquery jstree加载数据太多卡死
发布网友
发布时间:2022-04-22 03:46
我来回答
共2个回答
热心网友
时间:2022-05-17 01:47
意思是让您把jstree的js 里面那个位置的那段代码替换成他的:
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);
修改成:
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循环里一次一次的生成节点插入页面,这样本来就很卡
另一个是将所有节点先存入一个变量里,然后在一次性插入页面里,这样效率自然高很多很多
追问你会改吗,关键我本地找不到这段代码