html结合js实现简单的树状目录

最近在学jsp,期末了要做项目,需要用到树状目录,百度了很多,都没有找到想要的答案,最后自己折腾了半天,才搞定。

下面我就来分享一下怎么实现一个简单的树状目录:

1. 下载jquery-treeview插件:github 百度云

2. 解压刚才下载的压缩包,并将images文件夹的中gif复制到项目中的图片管理文件夹中,如下图:
images
img

当然复制到什么地方是你自己选择

3. 然后将jquery.treeview.css复制到你项目的css管理文件中:
treeview
css

可选:复制demo/screen.css到项目中

4. 复制jquery.treeview.js到项目中的js管理文件夹中:
treewiew
js

可选:复制demo/jquery.cookie.js到项目中

5. 修改jquery.treeview.css中图片的路径(一样的就可以不修改了):

images
img

步骤4中的img是你图片所在的文件夹

6.在head标签中添加连接:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
    <link rel="stylesheet" href="css/jquery.treeview.css" type="text/css"/>
    <!--screen.css不要也可以-->
    <link rel="stylesheet" href="css/screen.css" type="text/css"/>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
    <!--jquery.cookie.js不要也可以-->
    <script src="js/jquery.cookie.js"></script>
    <script src="js/jquery.treeview.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function(){
        $("#treeview").treeview({
            toggle: function() {
                console.log("%s was toggled.", $(this).find(">span").text());
            }
        });
    });
</script>
</head>

7.写一点代码来测试下:

<div id="main">
<ul id="treeview" class="filetree">
    <li><span class="folder">密码修改</span>
        <ul>
        <li><span class="file">密码修改</span></li>
        </ul>
    </li>
    <li><span class="folder">系统管理</span>
        <ul>
        <li><span class="file">系统管理</span></li>
        </ul>
    </li>
    <li><span class="folder">行政部门</span>
        <ul>
            <li><span class="file">合同管理</span></li>
            <li><span class="file">加班信息</span></li>
            <li><span class="file">业绩报告</span></li>
        </ul>
    </li>
    <li><span class="folder">考勤部门</span>
        <ul>
            <li><span class="file">考勤信息</span></li>
        </ul>
    </li>
    <li><span class="folder">人力资源部</span>
        <ul>
            <li><span class="file">添加员工</span></li>
            <li><span class="file">删除员工</span></li>
            <li><span class="file">信息跟踪</span></li>
            <li><span class="file">修改员工信息</span></li>
            <li><span class="file">员工信息查询</span></li>
            <li><span class="file">合同过期查询</span></li>
        </ul>
    </li>
    <li><span class="folder">请假管理</span>
        <ul>
            <li><span class="file">请假审批</span></li>
        </ul>
    </li>
    <li><span class="folder">招聘管理</span>
        <ul id="tree">
            <li><span class="folder">求职者信息管理</span>
                <ul>
                    <li><span class="file">添加</span></li>
                    <li><span class="file">查询</span></li>
                </ul>
            </li>
            <li><span class="file">添加招聘信息</span></li>
            <li><span class="file">修改招聘信息</span></li>
        </ul>
    </li>
    <li><span class="folder">财务部门</span>
        <ul>
            <li><span class="file">密码修改</span></li>
            <li><span class="file">薪资管理</span></li>
            <li><span class="file">加班信息</span></li>
            <li><span class="file">考勤信息</span></li>
            <li><span class="file">业绩报告</span></li>
            <li><span class="file">固定薪资</span></li>
        </ul>
    </li>
    <li><span class="folder">培训管理</span>
        <ul>
            <li><span class="file">添加培训</span></li>
            <li><span class="file">修改培训信息</span></li>
        </ul>
    </li>
</ul>
</div>

8.运行效果:

运行效果

HTML可以通过使用无序列表(<ul>)和有序列表(<ol>)元素来实现目录组件。 首先,我们可以使用无序列表来创建的每个节点。每个节点由一个列表项(<li>)表示。列表项中可以包含一个链接(<a>)元素,用于显示节点的名称,并且可以通过href属性定义节点的链接地址。如果节点有子节点,则在列表项中嵌套另一个无序列表。 例如,一个简单目录组件的HTML结构可以是: ``` <ul> <li><a href="#">节点1</a></li> <li> <a href="#">节点2</a> <ul> <li><a href="#">子节点1</a></li> <li><a href="#">子节点2</a></li> </ul> </li> <li><a href="#">节点3</a></li> </ul> ``` 这将创建一个包含3个主要节点的,第二个节点(节点2)具有两个子节点(子节点1和子节点2)。 为了使目录组件更具交互性,我们可以使用JavaScript来控制节点的展开和折叠。通过添加事件监听器,我们可以在节点上绑定点击事件,并在事件处理函数中修改节点的样式或改变子节点的可见性。 例如,可以通过以下JavaScript代码来实现节点的展开和折叠: ```javascript const treeNodes = document.querySelectorAll('ul li'); treeNodes.forEach(node => { const childNode = node.querySelector('ul'); if (childNode) { node.addEventListener('click', () => { childNode.classList.toggle('expanded'); }); } }); ``` 上述代码会在具有子节点的列表项上添加一个点击事件监听器。当点击节点时,它的子节点会切换一个名为"expanded"的类,通过CSS样式控制子节点的可见性。 最后,可以使用CSS样式来美化目录组件,例如添加不同的背景颜色、边框、图标等等,以增强可读性和用户体验。 综上所述,通过使用无序列表和有序列表元素,并结合JavaScript和CSS样式,我们可以实现一个简单且交互性强的目录组件。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值