由简入繁实现Jquery树状结构的方法(推荐)


Posted in Javascript onJune 10, 2016

在项目中,我们经常会需要一些树状结构的样式来显示层级结构等,比如下图的样式,之前在学.net的时候可以直接拖个服务端控件过来直接使用非常方便。但是利用Jquery的一些插件,也是可以实现这些效果的,比如说Jquery.treeview.js插件。

由简入繁实现Jquery树状结构的方法(推荐)

下面就直入主题,开始从简入繁的分析怎么使用treeview插件,从已知的知识开始轻松入手,让树状结构唾手可得。 

显示树状结构的几个实现步骤:

一、HTML做初始静态原型。

首先通过<ul></ul><li></li>展示树状基本结构,还原其最初的样子:

相信学过一点HTML的同学都可以实现吧,在“tree.html”中写如下代码:

<ul>
    <li>系统管理
      <ul>
        <li>部门管理</li>
        <li>岗位管理
          <ul>
            <li>岗位添加</li>
            <li>岗位删除</li>
          </ul>
        </li>
        <li><用户管理
          <ul>
            <li>添加用户</li>
            <li>修改用户</li>
          </ul>
        </li>
      </ul>
    </li>
    <li>审批流转</li>
  </ul>

我们静态的树形结构的草本如下:

由简入繁实现Jquery树状结构的方法(推荐)

二、加入treeview插件库,实现动态树状结构。

在有了基本静态的树状模型以后,我们需要实现一个动态的结构,那么,我们的大菜就要上场了。

1、首先搜索Jquery.treeview.js插件进行下载,或直接进入下面的网址进行下载插件包:

http://bassistance.de/jquery-plugins/jquery-plugin-treeview/

2、下载压缩包解压到相应文件夹内,将之间的静态页面tree.html放到根目录下:

由简入繁实现Jquery树状结构的方法(推荐)

3、在tree.html中导入js和css文件。

<!-- 导入js和CSS-->
<link rel="stylesheet" href="jquery.treeview.css" />
<script src="lib/jquery.js" type="text/javascript"></script>
<script src="lib/jquery.cookie.js" type="text/javascript"></script>
<script src="jquery.treeview.js" type="text/javascript"></script>

4、使用<ul>展示数据,为了方便得到树,在最外边的<ul>标签里加入Id为tree,如下

由简入繁实现Jquery树状结构的方法(推荐)

5、显示我们的树状结构(加上行为)。

在js里,我们只需要一行代码:

在<ul></ul>标签下加入js代码:

<script type="text/javascript">  $("#tree").treeview();  </script>

我们的动态的树状结构的初步样式如下,已经可以自由的收起和展示了:

由简入繁实现Jquery树状结构的方法(推荐)

6、显示树状结构(加上样式)。

上面的样式离我们最初想要的结果还差一点样式,比如说各项之前的文件夹图标。下面我们可以加上样式,从而完成整个树状结构的展示。

6.1在树的根节点<ul>标签中加入 class="filetree"。

6.2在各项节点前加入文件夹<span>标签:比如:<span class="folder">系统管理</span>。

整体tree.html代码如下:

<!DOCTYPE html pageEncoding="utf-8">
<html>
 <head>
  <title>tree.html</title>
  
  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  <meta http-equiv="description" content="this is my page">
  <meta http-equiv="content-type" content="text/html; charset=GB2312">
  <!-- 导入js和CSS-->
  <link rel="stylesheet" href="jquery.treeview.css" />
  <script src="lib/jquery.js" type="text/javascript"></script>
  <script src="lib/jquery.cookie.js" type="text/javascript"></script>
  <script src="jquery.treeview.js" type="text/javascript"></script>

 </head>
 
 <body>
  <ul id="tree" class="filetree">
    <li><span class="folder">系统管理</span>
      <ul>
        <li><span class="folder">部门管理</span></li>
        <li><span class="folder">岗位管理</span>
          <ul>
            <li><span class="folder">岗位添加</span></li>
            <li><span class="folder">岗位删除</span></li>
          </ul>
        </li>
        <li><span class="folder">用户管理</span>
          <ul>
            <li><span class="folder">添加用户</span></li>
            <li><span class="folder">修改用户</span></li>
          </ul>
        </li>
      </ul>
    </li>
    <li><span class="folder">审批流转</span></li>
  </ul>
  
  <script type="text/javascript">
  $("#tree").treeview();
  </script>
 </body>
</html>

最后的样式展示:

由简入繁实现Jquery树状结构的方法(推荐)

需求完成啦!

当然树状结构的样式有多种多样,也可以实现动态的添加节点分支等等,大家可以在下载的插件里找demo文件下的例子看一下,很容易的。

第一次实现树状结构,一开始的心情有些恐惧,也是没有头绪,感觉要通过js写下一个树状结构也是有些难度的,虽说toggle方法也可以实现指定区域的收缩(隐藏)和展示,加上动态变换文件夹等图标的样式也是可以实现的,但是一想就觉得太麻烦了。所以在做OA的时候,老师提到了Jquery的treeview插件很好使,上网查询它的官方资料竟然查到了一大堆插件,作为插件控的同学们一定很兴奋吧,有一种刘姥姥进大观园的感觉。而且实现起来非常简单,从已知的知识入手,由简入繁,轻松掌握了所有Jquery插件的使用。这就是米老师说的所谓的吃饭理论吧:一个人被邀请去参加一个饭局,发现饭局中只认识那个邀请自己的人,有些人会觉得饭局很无聊,很惆怅,或退场,或自娱自乐。但是聪明的人会通过那个唯一自己认识的人而认识整个饭局的人,从而结识了一大帮朋友。我们学习也是一样的,由我们已知的知识带领我们走进未知世界,战胜恐惧和胆怯,相信没有什么实现不了事情吧。

以上这篇由简入繁实现Jquery树状结构的方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript截取字符串(通过substring实现并支持中英文混合)
Jun 24 Javascript
jQuery解析Json实例详解
Nov 24 Javascript
AngularJS使用ng-repeat指令实现下拉框
Aug 23 Javascript
Javascript获取图片原始宽度和高度的方法详解
Sep 20 Javascript
js控制台输出的方法(详解)
Nov 26 Javascript
详解jQuery uploadify文件上传插件的使用方法
Dec 16 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
Jul 18 Javascript
vue的三种图片引入方式代码实例
Nov 19 Javascript
原生js实现拖拽移动与缩放效果
Aug 24 Javascript
nuxt引入组件和公共样式的操作
Nov 05 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
Nov 10 Javascript
简单聊聊TypeScript只读修饰符
Apr 06 Javascript
3kb jQuery代码搞定各种树形选择的实现方法
Jun 10 #Javascript
关于网页中的无缝滚动的js代码
Jun 09 #Javascript
Document.body.scrollTop的值总为零的快速解决办法
Jun 09 #Javascript
JavaScript事件学习小结(三)js事件对象
Jun 09 #Javascript
javaScript事件学习小结(四)event的公共成员(属性和方法)
Jun 09 #Javascript
JavaScript事件学习小结(一)事件流
Jun 09 #Javascript
JavaScript事件学习小结(五)js中事件类型之鼠标事件
Jun 09 #Javascript
You might like
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
php递归方法实现无限分类实例代码
2014/02/28 PHP
php验证是否是md5编码的简单代码
2014/04/01 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
js单向链表的具体实现实例
2013/06/21 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
浅谈$_FILES数组为空的原因
2017/02/16 Javascript
React实践之Tree组件的使用方法
2017/09/30 Javascript
深入理解JavaScript 中的执行上下文和执行栈
2018/10/23 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
python和C语言混合编程实例
2014/06/04 Python
python刷投票的脚本实现代码
2014/11/08 Python
给Python的Django框架下搭建的BLOG添加RSS功能的教程
2015/04/08 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
Python序列循环移位的3种方法推荐
2018/04/09 Python
python 环境搭建 及python-3.4.4的下载和安装过程
2019/07/20 Python
浅析Python requests 模块
2020/10/09 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
BOSE德国官网:尽探索之力,享音乐之极
2016/12/11 全球购物
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)
2014/07/16 面试题
一套英文Java笔试题面试题
2016/04/21 面试题
安全生产网格化管理实施方案
2014/03/01 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
和谐拯救危机观后感
2015/06/15 职场文书
网吧员工管理制度
2015/08/05 职场文书
学校运动会开幕词
2016/03/03 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
使用Python获取字典键对应值的方法
2022/04/26 Python