大量异步操作时间好长
ztree吧
全部回复
仅看楼主
level 7
云海觞 楼主
ztree在一次性做大量异步操作时需要的时间非常长,是否需要延时操作,怎么延时
2015年01月09日 08点01分 1
level 7
云海觞 楼主
var setting = {
async: {
enable: true,
url: "<%=request.getContextPath()%>/rs/treepInfoRest/getTreepinfoByParentId?systemName=<%=useDatabase%>",
autoParam:["indexId"],
type:"post"
},
callback:{
onExpand:zTreeOnExpand,
onClick:zTreeOnClick,
onAsyncSuccess: onAsyncSuccess
},
view: {
showIcon: false
}
};
function zTreeOnExpand(event, treeId, treeNode){
if(treeNode.children.length==0){
treeNode.isParent = false;
var treeObj = jQuery.fn.zTree.getZTreeObj("myTree");
treeObj.updateNode(treeNode);
}
}
function onAsyncSuccess(event, treeId, treeNode) {
if(treeNode.count<5000 ){
if(treeNode.count>1){
expandNodes(treeNode.children);
}else{
treeNode.isParent=false;
}
}
}
function expandNodes(nodes) {
if (!nodes) return;
var treeObj = $.fn.zTree.getZTreeObj("myTree");
for (var i=0, l=nodes.length; i<l; i++) {
treeObj.expandNode(nodes[i], true, false, false);
if (nodes[i].isParent && nodes[i].zAsync) {
expandNodes(nodes[i].children);
} else {
goAsync = true;
}
}
}
function zTreeOnClick(event, treeId, treeNode){
jQuery("#sheetTable").datagrid({url:'<%=request.getContextPath()%>/rs/viewTableRest/sheetTable?useDatabase=<%=useDatabase%>&indexId='+treeNode.indexId});
jQuery("#fileTable").datagrid({url:'<%=request.getContextPath()%>/rs/viewTableRest/fileImage?useDatabase=<%=useDatabase%>&indexId='+treeNode.indexId});
}
jQuery(document).ready(function(){
jQuery.fn.zTree.init(jQuery("#myTree"), setting);
});
2015年01月09日 08点01分 3
level 11
你这种情况,貌似每一个父节点下面的子节点都会好几千甚至上万。。。那么请你适当改变实现的方式吧,同时显示几千或上万的dom 速度也不会很快的。。。可以考虑分页等情况
2015年01月17日 01点01分 4
好的。谢谢
2015年01月19日 01点01分
1