您的位置:首页 > 大数据

ztree 一次性加载大数据量

2015-08-26 10:48 447 查看
ztree 一次性加载大数据量:
var setting = {

check: {

enable: true

},

data: {

simpleData: {

enable: true

}

},

callback: {

onNodeCreated: onNodeCreated //只有展开的节点才会触发

}

};

var dataMaker = function(count) {

var nodes = [], pId = -1,

min = 10, max = 90, level = 0, curLevel = [], prevLevel = [], levelCount,

i = 0,j,k,l,m;

while (i<count) {

//alert(level);

if (level == 0) {

pId = -1;

levelCount = Math.round(Math.random() * max) + min;//Math.round四舍五入取整Math.random():0~1 随机

// 10 < levelCount < 100 整数

//alert(levelCount);

for (j=0; j<2 && i<count; j++, i++) {

//alert(999);

var n = {id:i, pId:pId, name:"Big-" +i,open:true};

nodes.push(n);

curLevel.push(n);

}

} else {

//alert(888);

for (l=0, m=prevLevel.length; l<m && i<count; l++) {

pId = prevLevel[l].id;

levelCount = Math.round(Math.random() * max) + min;

for (j=0; j<2 && i<count; j++, i++) {

var n = {id:i, pId:pId, name:"Big-" +i};

nodes.push(n);

curLevel.push(n);

}

}

}

prevLevel = curLevel;

curLevel = [];

level++;

}

return nodes;

}

var showNodeCount = 0;

function onNodeCreated(event, treeId, treeNode) {

showNodeCount++;

}

function createTree () {

var zNodes = dataMaker(11);

showNodeCount = 0;

$("#treeDemo").empty();

setting.check.enable = $("#showChk").attr("checked");

var time1 = new Date();

$.fn.zTree.init($("#treeDemo"), setting, zNodes);

var time2 = new Date();

alert("节点共 " + zNodes.length + " 个, 初始化生成 DOM 的节点共 " + showNodeCount + " 个"

+ "\n\n 初始化 zTree 共耗时: " + (time2.getTime() - time1.getTime()) + " ms");

}

$(document).ready(function(){

$("#createTree").bind("click", createTree);

});

页面有 点击. 当点击 ID为createTree 时,调用.现象如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: