DWZ横向导航实现动态左菜单树(基于zTree插件)

此篇文章是基于ztree实现,若是dwzztree未整合,请先按照《DWZzTree整合(实现版)》文章整合。

先上图片:



 

 

顶部菜单异步加载:

//加载顶部菜单
$.post("topMenu!topMenu.action",{},function(result){
   	var json = eval('(' + result + ')');
	var tm='<ul>';
	$.each(json, function(i,item){
		if(i==0){
		   	tm+='<li class="selected"><a href="javascript:void(0)" οnclick="changeMenu(this,'+item.id+',\''+item.name+'\')"><span>'+item.name+'</span></a></li>';
		}else{
		    tm+='<li><a href="javascript:void(0)" οnclick="changeMenu(this,'+item.id+',\''+item.name+'\')"><span>'+item.name+'</span></a></li>';
		}
		});
		tm+="</ul>";
		$("#navMenu").html(tm);
});	
$("#navMenu").html(tm);
});

 

子菜单树加载:

var subMenuSetting = {
	   async: {
		    enable: true,//启用异步加载
		    url:"tree!asyncTree.action", //异步请求地址
		    dataType:"text",
		    autoParam:["id"] //需要传递的参数,为你在ztree中定义的参数名称
		},
		data:{ // 必须使用data  
            simpleData : {  
                enable : true,  
                idKey : "id", // id编号命名 默认  
                pIdKey : "pId", // 父id编号命名 默认   
                rootPId : -1 // 用于修正根节点父节点数据,即pIdKey 指定的属性值  
            }
       	}, 
       	view: {
	    	dblClickExpand: false,
	    	showLine: true,
	    	selectedMulti: false,
	    	expandSpeed: ($.browser.msie && parseInt($.browser.version)<=6)?"":"fast"
	   	},
		callback: {
		    onAsyncSuccess: onAsyncSuccess
		 }
	};
	function onAsyncSuccess(event, treeId, treeNode, msg) {
		initUI($('#'+treeId));
  	}
  	
	function changeMenu(obj,id,name){
		//设置点击横向菜单后横向菜单的样式
		$('#navMenu ul li').each(function(idx){
		    $('#navMenu ul li').removeClass();
		});
		$(obj).parent().addClass("selected");
		//加载树
		$.post("topMenu!topSubTree.action",{id:id},function(result){
   	 		var json = eval('(' + result + ')');
        	    $.fn.zTree.init($("#ztreedemo"), subMenuSetting, json);
	    	    initUI($('#ztreedemo'));
      	});
}

 



 



 



 



 

最初在CSDN上发了这份代码,整合了ztree3.3的核心部分,详情可以参看这个地址的说明: http://download.csdn.net/detail/ohaozy/8691959 据部分朋友的意见,需要使用ztree的excheck功能,于是我重新整合了ztree3.5,包括excheck,以及部分ztree美化图标。 因为CSDN上资源被下载过就不能更新及删除,只好重新发一份。推荐朋友们下载这份源代码,原先下载过的朋友可以留给我邮箱或者发邮件给我:ohsozy@163.com,我单独发给你们。 压缩包是完整的jfinal+dwz的测试性小代码,直接导入myeclipse,运行DwzConfig.java,访问http://localhost:8888/admin就可以进入页面。 代码例子是JAVA的,dwz,ztree等是前台的东西,和后台没有关系。不管.net还是php都通用,请根据使用的平台,修改发布WebRoot下的文件,修改admin.jsp就可以。 ztree代码已经集成到dwz.min.js,不要再次单独引入js。 使用例子: var setting = { check: { enable: true,//只有这个属性就是checkbox chkStyle: "radio", radioType: "all"//level }, data: { simpleData: { enable: true } } }; /* 要是菜单不响应点击事件,请设置url:"#" */ var zNodes =[ { id:1, pId:0, name:"菜单管理(不响应点击)",iconSkin:"pIcon01", url:"#",open:false}, { id:2, pId:1, name:"菜单2(响应点击)", iconSkin:"pIcon02",url:"admin/articleAddEdit.html", target:"navTab", rel:"articleAddEdit2",open:false}, { id:3, pId:2, name:"菜单3(不响应点击)", iconSkin:"pIcon02",url:"#", target:"navTab", rel:"articleAddEdit3",open:false}, { id:4, pId:3, name:"文章管理4", iconSkin:"icon04",url:"admin/articleAddEdit.html", target:"navTab", rel:"articleAddEdit4"}, { id:5, pId:3, name:"弹出层", iconSkin:"icon04",url:"admin/articleAddEdit.html", target:"dialog", rel:"articleAddEdit5",mask:true,width:860,height:600}, { id:6, pId:3, name:"文章管理6", iconSkin:"icon04",url:"admin/articleAddEdit.html", target:"navTab", rel:"articleAddEdit6"}, { id:7, pId:1, name:"文章管理7", iconSkin:"pIcon02",url:"admin/articleAddEdit.html", target:"navTab", rel:"articleAddEdit7"}, { id:8, pId:7, name:"文章管理8", iconSkin:"pIcon02", url:"admin/articleAddEdit.html", target:"navTab", rel:"articleAddEdit8"}, { id:9, pId:8, name:"文章管理9", iconSkin:"icon04",url:"admin/articleAddEdit.html", target:"navTab", rel:"articleAddEdit9"} ]; $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); }); 有问题或建议请写评论或发信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值