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

2 篇文章 0 订阅
2 篇文章 0 订阅
此篇文章是基于ztree实现,若是dwz与ztree未整合,请先按照《DWZ和zTree整合(实现版)》文章整合。

先上图片:



 

 

顶部菜单异步加载:

Js代码   收藏代码
  1. //加载顶部菜单  
  2. $.post("topMenu!topMenu.action",{},function(result){  
  3.     var json = eval('(' + result + ')');  
  4.     var tm='<ul>';  
  5.     $.each(json, function(i,item){  
  6.         if(i==0){  
  7.             tm+='<li class="selected"><a href="javascript:void(0)" οnclick="changeMenu(this,'+item.id+',\''+item.name+'\')"><span>'+item.name+'</span></a></li>';  
  8.         }else{  
  9.             tm+='<li><a href="javascript:void(0)" οnclick="changeMenu(this,'+item.id+',\''+item.name+'\')"><span>'+item.name+'</span></a></li>';  
  10.         }  
  11.         });  
  12.         tm+="</ul>";  
  13.         $("#navMenu").html(tm);  
  14. });   
  15. $("#navMenu").html(tm);  
  16. });  

 

子菜单树加载:

Js代码   收藏代码
  1. var subMenuSetting = {  
  2.        async: {  
  3.             enable: true,//启用异步加载  
  4.             url:"tree!asyncTree.action"//异步请求地址  
  5.             dataType:"text",  
  6.             autoParam:["id"//需要传递的参数,为你在ztree中定义的参数名称  
  7.         },  
  8.         data:{ // 必须使用data    
  9.             simpleData : {    
  10.                 enable : true,    
  11.                 idKey : "id"// id编号命名 默认    
  12.                 pIdKey : "pId"// 父id编号命名 默认     
  13.                 rootPId : -1 // 用于修正根节点父节点数据,即pIdKey 指定的属性值    
  14.             }  
  15.         },   
  16.         view: {  
  17.             dblClickExpand: false,  
  18.             showLine: true,  
  19.             selectedMulti: false,  
  20.             expandSpeed: ($.browser.msie && parseInt($.browser.version)<=6)?"":"fast"  
  21.         },  
  22.         callback: {  
  23.             onAsyncSuccess: onAsyncSuccess  
  24.          }  
  25.     };  
  26.     function onAsyncSuccess(event, treeId, treeNode, msg) {  
  27.         initUI($('#'+treeId));  
  28.     }  
  29.       
  30.     function changeMenu(obj,id,name){  
  31.         //设置点击横向菜单后横向菜单的样式  
  32.         $('#navMenu ul li').each(function(idx){  
  33.             $('#navMenu ul li').removeClass();  
  34.         });  
  35.         $(obj).parent().addClass("selected");  
  36.         //加载树  
  37.         $.post("topMenu!topSubTree.action",{id:id},function(result){  
  38.             var json = eval('(' + result + ')');  
  39.                 $.fn.zTree.init($("#ztreedemo"), subMenuSetting, json);  
  40.                 initUI($('#ztreedemo'));  
  41.         });  
  42. }  

 



 



 



 



 转自:http://njkf-hp.iteye.com/blog/1965218?utm_source=tuicool

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最初在CSDN上发了这份代码,整合了ztree3.3的核心部分,详情可以参看这个地址的说明: http://download.csdn.net/detail/ohaozy/8691959 据部分朋友的意见,需要使用ztree的excheck功能,于是我重新整合了ztree3.5,包括excheck,以及部分ztree美化图标。 因为CSDN上资源被下载过就不能更新及删除,只好重新发一份。推荐朋友们下载这份源代码,原先下载过的朋友可以留给我邮箱或者发邮件给我:[email protected],我单独发给你们。 压缩包是完整的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); }); 有问题或建议请写评论或发信。
这份DWZ代码是我个人一直使用的,DWZ对各版本IE的兼容性是比较好的,我的代码在IE6下也基本能正常使用,这是一直舍不得换其它框架的主要原因。 压缩包是完整的jfinal+dwz的测试性小代码,直接导入myeclipse,运行DwzConfig.java,访问http://localhost:8888/admin就可以进入页面。 代码例子是JAVA的,dwz,ztree等是前台的东西,和后台没有关系。不管.net还是php都通用,请根据使用的平台,修改发布WebRoot下的文件,修改admin.jsp就可以。 页面集成了ztree3.3,kindeditor,My97DatePicker的使用例子。 本代码解决了DWZ集成ztree时,对于未展开的菜单点击后target无效的问题。以下是使用例子: var zNodes =[ { id:1, pId:0, name:"菜单管理(不响应点击)", url:"#",open:false}, { id:2, pId:1, name:"菜单2(响应点击)", url:"articleAddEdit.html", target:"navTab", rel:"articleAddEdit2",open:false}, { id:3, pId:2, name:"菜单3(不响应点击)", url:"#", target:"navTab", rel:"articleAddEdit3",open:false}, { id:4, pId:3, name:"文章管理4", url:"articleAddEdit.html", target:"navTab", rel:"articleAddEdit4"}, { id:4, pId:3, name:"弹出层", url:"articleAddEdit.html", target:"dialog", rel:"articleAddEdit5",mask:true,width:860,height:600}, { id:4, pId:3, name:"文章管理6", url:"articleAddEdit.html", target:"navTab", rel:"articleAddEdit6"} ]; $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); }); 如果要菜单不响应点击事件,请设置url:"#" 此代码处理了弹出层刷新及弹出层分页问题,这部分没有提供例子。 别怪我分数这么贵,真心的自己花了时间去测试改进,希望帮助到更多朋友。 有问题或建议请写评论或发信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值