jQuery EasyUI结合zTree树形结构制作web页面


Posted in jQuery onSeptember 01, 2017

JQuery EasyUI 结合 zTree树形结构制作web页面.easyui用起来比较简单,很好的封装了jquery的部分功能,使用起来更加方便,但是从1.2.3版本以后,商业用途是需要付费的,zTree是国内的大牛们搞的一个jquery树形tree插件,感觉很好用,很强大,而且完全免费,API等做的也非常不错.推荐

easyui 是一个基于 jQuery 的框架,集成了各种用户界面插件。

easyui 提供建立现代化的具有交互性的 javascript 应用的必要的功能。

使用 easyui,您不需要写太多 javascript 代码,一般情况下您只需要使用一些 html 标记来定义用户界面。

HTML 网页的完整框架。

easyui 节省了开发产品的时间和规模。

easyui 非常简单,但是功能非常强大。

需要的导入以下几种js文件和样式表

easyui/themes/default/easyui.css
easyui/themes/icon.css

jquery-1.8.3.js
easyui/jquery.easyui.min.js
ztree/jquery.ztree.all-3.5.js(该文件包括core,exhide,exedit,excheck)
ztree/zTreeStyle.css

<script type="text/javascript">   
 // ztree菜单设置
 var zTreeObj,
 setting = {
  view: {
   selectedMulti: false
  },
  // 添加编辑设置:修改树节点名称/删除树节点
  edit: {
   enable: true
  },
  data: { 
   simpleData: { 
    enable: true
   }
  },
  callback:{
   onClick: zTreeOnClick
  }
 };
 
 // 回调函数:单击事件
 function zTreeOnClick(event, treeId, treeNode, clickFlag) { 
  alert(treeNode.id + ", " + treeNode.name); 
  var content = '<div style="width:100%;height:100% ;overflow:hidden;">'
       +'<iframe src="'
       +treeNode.url
       +'" scrolling="auto" style="width:100%;height:100%;border:0;"></iframe></div>';
  if(treeNode.url != undefined && treeNode.url != ""){
   // 当centre中是否存在名称为treeNode.name的tabs
   if($("#tt").tabs('exists',treeNode.name)){
    $("#tt").tabs('select',treeNode.name);
   }else {
    $("#tt").tabs('add',{
     title:treeNode.name,
     content:content,
     closable:true
    })
   }
  };
  event.preventDefault();
 };
 
 // 提供ztree树形菜单数据
 zTreeNodes = [ {"id":1, "pId":0, "name":"海贼王"}, 
        {"id":11, "pId":1, "name":"娜美", "url":"http://man.linuxde.net/"}, 
        {"id":12, "pId":1, "name":"罗宾", "url":"http://www.baidu.com"},
        {"id":13, "pId":1, "name":"汉库克", "url":"http://www.google.cn/"},
        { "id":2, "pId":0, "name":"父节点 2", "open":true},
        {"id":21,"pId":2, "name":"叶子节点 2-1"},
        {"id":22, "pId":2, "name":"叶子节点 2-2"},
        {"id":23,"pId":2, "name":"叶子节点 2-3"},
        {"id":3, "pId":0, "name":"父节点 3", "open":true},
        {"id":31, "pId":3, "name":"叶子节点 3-1"},
        {"id":32, "pId":3, "name":"叶子节点 3-2"},
        {"id":33, "pId":3, "name":"叶子节点 3-3"}
       ];
 
 // 3.生成树形菜单
 $(document).ready(function(){
  zTreeObj = $.fn.zTree.init($("#tree"), setting, zTreeNodes);
 });
 
 // 4.对象选项卡注册右击事件
 $(document).ready(function(){
  $("#tt").tabs({
   onContextMenu:function(e,title,index){
   // 阻止系统默认的右击事件
    e.preventDefault();
    $('#mm').menu('show', {
     left: e.pageX,
     top: e.pageY
    }); 
   }
  });
 });
 
 // 获取所选取的面板对象
 $(document).ready(function(){
  $("#tt").tabs({
   // 获取所选取的面板对象
   onSelect : function(title,index ){
    // 5. menu的单击事件绑定
    $("#mm").menu({ 
     onClick:function(item){ 
      alert(item.name);
      // 当点击关闭当前选项卡时
      if(item.name==='current'){
       $('#tt').tabs('close',title);
      // 当点击关闭其他选项卡时
      }else if(item.name === 'others'){
       var tabs = $('#tt').tabs('tabs');
       $(tabs).each(function(){
        if($(this).panel('options').title != '消息中心' && $(this).panel('options').title != title){
         $('#tt').tabs('close',$(this).panel('options').title);
        }
       });
      // 当点击关闭所有选项卡时
      }else if(item.name === 'all'){
       var tabs = $('#tt').tabs('tabs');
       $(tabs).each(function(){
          if($(this).panel('options').title != '消息中心'){
         $('#tt').tabs('close',$(this).panel('options').title);
        }
       });
      }
     } 
    });
   }
  })
 }) 
</script>

 相应的htm 部分代码

<body class="easyui-layout">
 <div data-options="region:'north',title:'北丐:洪七公',split:true" style="height:100px;"></div>
 <div data-options="region:'south',title:'南帝:一灯大师',split:true" style="height:100px;"></div>
 <div data-options="region:'east',iconCls:'icon-reload',title:'东邪:黄药师',split:true" style="width:100px;"></div>
 <div data-options="region:'west',title:'西毒:欧阳锋',split:true" style="width:250px;">
  <div id="aa" data-options="fit:'true'" class="easyui-accordion">
   <div title="赵敏" data-options="iconCls:'icon-save'" >
    <h3 style="color:#0099FF;">Accordion for jQuery</h3>
    <p>Accordion is a part of easyui framework for jQuery. It lets you define your accordion component on web page more easily.</p>
   </div>
   <div title="大玉儿" data-options="iconCls:'icon-reload',selected:true" >
    // ztree属性结构
    <ul id="tree" class="ztree" style="width:230px; overflow:auto;"></ul>
   </div>
   <div title="婉容儿" >
    who?
   </div>
  </div>
 </div>
 <div data-options="region:'center',title:'中神通:周伯通'">
  // tabs 面板
  <div id="tt" class="easyui-tabs" data-options="fit:true">
   <div title="小龙女"data-options="closable:true" ></div>
   <div title="沐剑屏" data-options="closable:true" ></div>
   <div title="阿珂" data-options="iconCls:'icon-reload',closable:true"></div>
  </div>
 </div>
 
 // menu菜单栏
 <div id="mm" class="easyui-menu" style="width:120px;">
  <div name="current">关闭当前选项卡</div>
  <div name="others">关闭其他选项卡</div>
  <div class="menu-sep"></div>
  <div data-options="iconCls:'icon-cancle'" name="all">关闭所有选项卡</div>
 </div>
</body>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
利用jQuery解析获取JSON数据
Apr 08 jQuery
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
自定义类似于jQuery UI Selectable 的Vue指令v-selectable
Aug 23 jQuery
基于jQuery选择器之表单对象属性筛选选择器的实例
Sep 19 jQuery
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
jquery获取transform里的值实现方法
Dec 12 jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】
May 29 jQuery
jquery实现广告上下滚动效果
Mar 04 jQuery
JQuery EasyUI 结合ztrIee的后台页面开发实例
Sep 01 #jQuery
jquery操作ul的一些操作笔记整理(干货)
Aug 31 #jQuery
jquery插件开发之选项卡制作详解
Aug 30 #jQuery
基于jQuery的左滑出现删除按钮的示例
Aug 29 #jQuery
jQuery实现简单的计时器功能实例分析
Aug 29 #jQuery
jQuery动态添加.active 实现导航效果代码思路详解
Aug 29 #jQuery
jQuery实现base64前台加密解密功能详解
Aug 29 #jQuery
You might like
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
2011/06/20 Javascript
通过js获取div的background-image属性
2013/10/15 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
webpack 模块热替换原理
2018/04/09 Javascript
GOJS+VUE实现流程图效果
2018/12/01 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
在layui下对元素进行事件绑定的实例
2019/09/06 Javascript
JS+html5实现异步上传图片显示上传文件进度条功能示例
2019/11/09 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python 2与Python 3版本和编码的对比
2017/02/14 Python
python解析基于xml格式的日志文件
2017/02/25 Python
用python实现的线程池实例代码
2018/01/06 Python
python爬取m3u8连接的视频
2018/02/28 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Python如何实现转换URL详解
2019/07/02 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
python 制作磁力搜索工具
2021/03/04 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
医学院学生的自我评价分享
2013/11/19 职场文书
广告创意求职信
2014/03/17 职场文书
《大江保卫战》教学反思
2014/04/11 职场文书
公司开会通知
2015/04/20 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS