js+jquery实现树状目录

简介: js+jquery实现简单的树状目录。html内容,css样式,js逻辑已经贴出。拿来即用。

依赖jquery需要先导入jquery

style样式

ul,
li,
i {
  list-style: none;
  padding: 0;
  margin: 0;
  font-style: normal;
}
i {
  width: 14px;
  height: 14px;
  float: left;
}
.box {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}
.nav-ml {
  width: 100%;
}
.nav-ml ul {
  margin-left: 20px;
}
.nav-ml i {
  width: 14px;
  height: 14px;
  background: url(images/add.png) no-repeat 0 0;
  margin-right: 10px;
}
.nav-ml i.unfold {
  width: 14px;
  height: 14px;
  background: url(images/minus.png) no-repeat 0 0;
}
.nav-ml a {
  display: block;
  font-size: 14px;
  height: 20px;
  padding: 3px 0;
  color: #666;
  overflow: hidden;
}
.nav-first,
.nav-second,
.nav-three {
  margin-left: 20px;
}
.nav-three li {
  background: url(images/dot.png) no-repeat 0 12px;
  padding-left: 10px;
}
.fold {
  display: none;
}
.nav-three li:hover {
  background-color: #fffceb;
}

html内容

  <div class="nav-ml">
    <ul>
      <li>
        <ul class="nav-first">
          <li>
            <a class="item-1"><i></i>文书档案</a>
            <ul class="nav-second fold ">
              <li>
                <a class="item-2"><i></i>行政工作</a>
                <ul class="nav-three fold">
                  <li><a>2019年行政工作行政财务报告</a></li>
                  <li><a>2019年行政工作行政财务报告</a></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
      <li>
        <ul class="nav-first">
          <li>
            <a class="item-1"><i></i>会计档案</a>
            <ul class="nav-second fold ">
              <li>
                <a class="item-2"><i></i>会计工作</a>
                <ul class="nav-three fold">
                  <li><a>报告</a></li>
                  <li><a>报告</a></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
      <li>
        <ul class="nav-first">
          <li>
            <a class="item-1"><i></i>资产档案</a>
            <ul class="nav-second fold ">
              <li>
                <a class="item-2"><i></i>资产工作</a>
                <ul class="nav-three fold">
                  <li><a>报告</a></li>
                  <li><a>报告</a></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
      <li>
        <ul class="nav-first">
          <li>
            <a class="item-1"><i></i>文件档案</a>
            <ul class="nav-second fold ">
              <li>
                <a class="item-2"><i></i>文件工作</a>
                <ul class="nav-three fold">
                  <li><a>报告</a></li>
                  <li><a>报告</a></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
      <li>
        <ul class="nav-first">
          <li>
            <a class="item-1"><i></i>设备档案</a>
            <ul class="nav-second fold ">
              <li>
                <a class="item-2"><i></i>设备工作</a>
                <ul class="nav-three fold">
                  <li><a>报告</a></li>
                  <li><a>报告</a></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </div>
</div>

script


var tree = [
  {
    text: "文书档案 1",
    nodes: [
      {
        text: "子节点 1",
        nodes: [
          {
            text: "孙节点 1",
            nodes: [
              {
                text: "子节点 1"
              },
              {
                text: "子节点 2"
              }
            ]
          },
          {
            text: "子节点 2"
          }
        ]
      },
      {
        text: "子节点 2"
      }
    ]
  },
  {
    text: "文书档案 2"
  },
  {
    text: "文书档案 3"
  },
  {
    text: "文书档案 4"
  },
  {
    text: "文书档案 5"
  }
];
// 树点击事件
$(".item-1").click(function() {
  $(this)
    .parent()
    .find(".nav-second")
    .slideToggle(500);
  $(this)
    .children("i")
    .toggleClass("unfold");
});
$(".item-2").click(function() {
  $(this)
    .parent()
    .find(".nav-three")
    .slideToggle(500);
  $(this)
    .children("i")
    .toggleClass("unfold");
});

目录
相关文章
|
SQL JavaScript 安全
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
560 11
【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
|
12月前
|
JSON JavaScript 数据格式
jqtimeline.js-简单又好用的jquery时间轴插件
jqtimeline.js-简单又好用的jquery时间轴插件
|
前端开发 JavaScript
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
537 14
【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
|
JavaScript 前端开发
js+jquery实现贪吃蛇经典小游戏
本项目采用HTML、CSS、JavaScript和jQuery技术,无需游戏框架支持。通过下载项目文件至本地,双击index.html即可启动贪吃蛇游戏。游戏界面简洁,支持方向键控制蛇移动,空格键实现游戏暂停与恢复功能。
451 14
|
JavaScript 前端开发 容器
jQuery多功能滑块插件r-slider.js
r-slider.js是一款jQuery多功能滑块插件。使用该插件,可以制作出滑块、开关按钮、进度条、向导步骤等多种效果。
230 5
|
JavaScript 前端开发 开发者
jQuery:JavaScript库的瑰宝
jQuery:JavaScript库的瑰宝
334 3
|
JavaScript 前端开发
JavaScript - 测试 jQuery
JavaScript - 测试 jQuery
115 1
|
JavaScript 定位技术
jQuery鹰眼视图小地图定位预览插件minimap.js
这是一个jQuery小地图定位预览视图,默认左侧是页面主要内容,minimap.js的好处就是在它的右侧形成一个快速定位通道,产生一个缩小版的页面,即预览效果,可以点击并快速定位到页面的某个位置。简单实用,欢迎下载!
198 0
|
JavaScript
分别用jquery和js修改页面元素
分别用jquery和js修改页面元素
206 2
|
JavaScript 前端开发 API
深入了解jQuery:快速、高效的JavaScript库
【10月更文挑战第11天深入了解jQuery:快速、高效的JavaScript库
219 0