`
dyingcow
  • 浏览: 132506 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

树状结构导航条css+javascript简单实现

阅读更多
    要做一个可以展开折叠的树状导航条,到网上看了一些实现,感觉都比较麻烦,js的代码量都不小,我的应用要求不复杂,但是要求树状结构的内容是可以改变的 。所以最后还是自己试着写了一个。
    下面是演示代码,你可以按照自己的需求改变div中的内容,动态的生成div部分代码就可以实现tree结构的动态建立。

<html>
<script>
    function changevisible(element){
        var children = element.parentNode.childNodes;
        for(var i= 0; i<children.length;i++){
            if(children[i].nodeName == "DIV"){
                var className = children[i].className;                   
                if(className == "show"){
                    element.className="fold";
                    children[i].className="hidden";
                }
                else{
                    element.className="expend";
                    children[i].className="show";
                }
            }
        }
    }
</script>
<style type="text/css">
div.show{
    display:block;
    width:100%;
    background-color:#339966;
}
div.hidden{
    display:none;
}

span.fold{
    width:20px;
    height:20px;
    padding:0px 10px 0px 10px;
    background-image:url("P1.gif");
    background-repeat:no-repeat;
   
}
span.expend{
    width:20px;
    height:20px;
    padding:0px 10px 0px 10px;
    background-image:url("M1.gif");
    background-repeat:no-repeat;
}
span.2blank{
    width:20px;
}
span.3blank{
    width:40px;
}
span.def{
    width:20px;
    height:20px;
    padding:0px 10px 0px 10px;
    background-image:url("D.gif");
    background-repeat:no-repeat;
}
</style>
    <body>
        <div id="sidenav">
            <div class="show"><span class="fold" onclick="changevisible(this)">&nbsp;</span>10
                <div class="hidden"><span class="2blank">&nbsp;</span><span class="fold" onclick="changevisible(this)">&nbsp;</span>20</div>
                <div class="hidden"><span class="2blank">&nbsp;</span><span class="fold" onclick="changevisible(this)">&nbsp;</span>21</div>
                <div class="hidden"><span class="2blank">&nbsp;</span><span class="fold" onclick="changevisible(this)">&nbsp;</span>22
                    <div class="hidden"><span class="3blank">&nbsp;&nbsp;</span><span class="def">&nbsp;</span>30</div>
                    <div class="hidden"><span class="3blank">&nbsp;&nbsp;</span><span class="def">&nbsp;</span>31</div>
                </div>
            </div>
        </div>
    </body>
</html>

下面是效果演示:
<script> function changevisible(element){ var children = element.parentNode.childNodes; for(var i= 0; i<children.length;i++){ if(children[i].nodename="=" "div"){="" var="" classname="children[i].className;" if(classname="=" "show"){="" element.classname="fold" ;="" children[i].classname="hidden" ;="" }="" else{="" element.classname="expend" ;="" children[i].classname="show" ;="" }="" }="" }="" }<="" script=""> <style type="text/css">div.show{ display:block; width:100%; background-color:#339966;}div.hidden{ display:none;}span.fold{ width:20px; height:20px; padding:0px 10px 0px 10px; background-image:url("P1.gif"); background-repeat:no-repeat; }span.expend{ width:20px; height:20px; padding:0px 10px 0px 10px; background-image:url("M1.gif"); background-repeat:no-repeat;}span.2blank{ width:20px;}span.3blank{ width:40px;}span.def{ width:20px; height:20px; padding:0px 10px 0px 10px; background-image:url("D.gif"); background-repeat:no-repeat;}</style>
+10
(由于展开和收起的图标使用的相对链接,利用改变span的className属性来改变图标,在blog里不方便实用,暂且用+代替原来图表的位置,大家使用的时候可以用你自己的图标代替M1.gif 、P1.gif、D.gif,和你的页面放在一层文件夹下即可)


分享到:
评论

相关推荐

    树型导航条素材下载,javascript和div/css代码

    "树型导航条"是一种特殊的导航结构,它模仿了计算机文件系统的树状结构,使用户能够通过展开和折叠的方式查看和访问多层次的菜单。在本资源包中,我们聚焦于使用JavaScript和CSS来实现这种交互式的树型导航条。 ...

    javascript经典特效---多层超酷导航条.rar

    本资源“javascript经典特效---多层超酷导航条.rar”聚焦于利用JavaScript实现一个具有多层结构且视觉效果酷炫的导航条,这将极大地提升用户体验。 首先,我们来理解一下“多层”的概念。在网页设计中,多层导航...

    asp.net导航条

    为了提高搜索引擎的可见性,导航条的结构应遵循SEO最佳实践,如使用有意义的链接文本,避免使用JavaScript生成导航条,确保搜索引擎能正确爬取和理解网站结构。 10. **性能优化** 考虑到性能,可以缓存导航数据,...

    js 点击切换和点击伸缩

    这个例子适用于简单的静态结构,如果导航条是动态生成或者更复杂,可能需要使用到更高级的库,如jQuery或者现代前端框架(如React、Vue、Angular)。 树状导航条是一种组织大量层次化信息的有效方式。它通常由节点...

    树型红色导航.rar

    在这个“树型红色导航”中,红色可能被用作主题色,不仅使导航条突出,还能激发用户的兴趣,增加网站的视觉冲击力。同时,色彩心理学研究表明,红色可以唤起人们的兴奋感,有助于提升用户在网站上的停留时间和互动...

    Bootstrap多级树形分类折叠菜单.zip

    1. **导航条(Navbar)**: Bootstrap的导航条组件提供了一种构建顶部导航菜单的方式。在2.2.1版本中,我们可以使用`.navbar`、`.navbar-inner`和`.nav`类来构建基础结构。 2. **下拉菜单(Dropdowns)**: Bootstrap...

    jquery.tree.js树形导航菜单插件

    jQuery.tree.js是基于jQuery库的一个插件,它利用JavaScript的事件驱动和DOM操作能力,实现了动态生成和管理树形导航菜单的功能。该插件不仅提供了丰富的配置选项,还支持各种交互效果,如点击展开/折叠节点、拖放...

    js实例大全

    - `二级下拉框联动.txt`、`n级联动下拉框.txt` 和 `下拉列表框的颜色和CSS样式.txt` 介绍了如何使用JavaScript实现下拉框的联动效果,以及如何结合CSS自定义下拉框样式,这对于构建复杂的表单和选择结构非常有用。...

    网上商城左侧商品分类导航套系

    - `index20110925_mini.js`:可能是网站特定功能的JavaScript脚本,比如处理导航条的响应式行为或动画效果。 - `main.png` 和 `repeatX.png`:这两张图片可能是网站的背景图或导航菜单中的图标,`repeatX.png`通常...

    jQuery横向树枝结构图特效.zip

    这种特效通过JavaScript库jQuery实现,结合CSS样式来达到动态、美观的效果。在网页设计中,它能帮助用户更直观地理解和浏览复杂的数据。 jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画...

    mytree.rar

    - 树形菜单是一种以树状结构展现数据的用户界面元素,常用于文件管理器、网站导航或层级结构的展示。它允许用户通过展开和折叠节点来浏览层次化的信息。 - 实现方式:通常使用HTML、CSS和JavaScript(如jQuery)...

    树形下拉控件

    在网页设计和开发中,"树形下拉控件"是一种常见的交互元素,它结合了树状结构和下拉列表的功能,为用户提供了一种高效、直观的方式来浏览和选择层次化的数据。这种控件通常用于展示有层级关系的数据,如目录结构、...

    bootstrap后台树形图

    CSS 类则是用于快速添加样式,例如按钮、表单、导航条等;JavaScript 插件则提供了交互功能,如模态框、下拉菜单、滚动条等。 接下来,为了创建树形图,你可以使用第三方库,如 jQuery UI 的 Treeview 插件,或者专...

    基于Web菜单框架

    例如,Bootstrap的导航条组件可以快速创建水平或垂直菜单,而jQuery UI的draggable和droppable功能则可以实现拖放式菜单编辑。 为了实现这些功能,【菜单框架】可能包含以下文件: - HTML模板文件:定义菜单的基本...

    dtree 使用详细介绍

    安装dtree非常简单,首先解压dtree源码包`dtree.zip`,其中包含了必要的资源文件,如图像文件、API文档、CSS样式表、JavaScript脚本和示例文件。将这些文件放置在项目的webroot目录下,然后在需要使用dtree的HTML或...

    jQuery基于svg绘制横向树枝结构图特效源码.zip

    每个节点可能包含子节点,形成树状结构。这可以通过JSON对象或自定义的数据结构实现。例如: ```json { "name": "根节点", "children": [ { "name": "子节点1", "children": [ // 子子节点... ] }, { ...

    js仿树形菜单

    树形菜单是一种模拟真实世界中树状结构的数据表示方式,它由节点(Node)组成,每个节点可以有零个或多个子节点。在网页中,这些节点通常以折叠或展开的形式显示,用户可以通过点击节点来展示或隐藏其子节点。 二、...

    bootstrap-下拉选择树.zip

    在Bootstrap中,下拉菜单是导航条(navbar)或按钮组(button group)常见的一部分,通常用于节省空间并提供多个操作选项。 下拉选择树的实现通常基于JavaScript库,如jQuery,以及可能的插件,例如Bootstrap ...

    DirectoryTree插件-jquery树形滑动导航

    它简化了树状结构的展现和管理,能够帮助用户高效地浏览层级数据。通过理解和掌握DirectoryTree插件的使用,开发者可以提升网站或应用的用户体验,特别是对于需要展示多层分类或目录的场景。在实际项目中,根据需求...

    Javascript仿新浪游戏频道鼠标悬停显示子菜单效果

    在HTML中,所有的元素节点都是以树状结构存在的,节点之间具有层级关系。通过Javascript中的DOM操作,可以遍历这些节点,找到相应的父节点或子节点,从而实现对节点的动态操作。比如,在鼠标悬停效果中,当鼠标移动...

Global site tag (gtag.js) - Google Analytics