`
jiangwt100
  • 浏览: 37385 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Js的无限分级树

 
阅读更多

本文为转载只为方便学习

<html>
<head>
</head>
<body>
<ul id=”side_menu”>
<li><a href=”#”>[-] 一级菜单</a>
<ul>
<li><a href=”#”>[-] 二级菜单</a>
<ul>
<li><a href=”#”>[-] 三级菜单</a></li>
<li><a href=”#”>[-] 三级菜单</a></li>
</ul>
</li>
<li><a href=”#”>[-] 二级菜单</a></li>
</ul>
</li>
</ul>
<body>
<script type=”text/javascript”>
/*=======================树状菜单开始=========================*/
//该树状菜单由catge原创,有任何疑问和BUG请联系QQ:965496 Blog:catge.blogbus.com
//该菜单支持无限级数,增加级数方法:三级时level赋值5,以后每增加一级level值增2
//该例CSS样式表已经定义到5级样式,
//套用该函数只需在树状菜单根节点上使用id=”side_menu”,列表需使用UL
/*==========================================================*/
var level = 5;
var n = level;


//判断该对象是否包含于side_menu中
function isInSideMenu(obj){
if(n){ n–;
if(obj.getAttribute&&obj.getAttribute(”id”)==”side_menu”){n = level;return true;}
if(obj.nodeType==9){n = level;return false;}//超过当前文档树结构时返回false
else{return isInSideMenu(obj.parentNode);}
}
n = level;
return false;
}
//菜单折叠效果函数
function foldMenu(){
if(this.nextSibling&&this.nextSibling.nextSibling){
if(this.nextSibling.nextSibling.style.display==”block”){
this.nextSibling.nextSibling.style.display =”none”;
this.innerHTML = this.innerHTML.replace(”-”,”+”);
}else{
this.nextSibling.nextSibling.style.display =”block”;
this.innerHTML = this.innerHTML.replace(”+”,”-”);
}
}else{
this.innerHTML = this.innerHTML.replace(”+”,”-”);
}
}
//初始化树状菜单
function intSideMenu(){
var as = document.getElementsByTagName(”a”);
var uls = document.getElementsByTagName(”ul”);
var sidemenuUL = document.getElementById(”side_menu”);
for(var i=0;i<as.length;i++){
if(isInSideMenu(as[i])){
as[i].onclick= foldMenu;
as[i].innerHTML = as[i].innerHTML.replace(”-”,”+”);
}
}//给所有树状菜单内的a绑定foldMenu函数
for(var j=0;j<uls.length;j++){
if(isInSideMenu(uls[j]))uls[j].style.display =”none”;//初始化隐藏树状菜单
}
sidemenuUL.style.display = “block”;//显示根菜单
}


intSideMenu();
/*====================//树状菜单结束==========================*/
</script>
</html>

分享到:
评论

相关推荐

    JS写的一个无限分级树

    "JS写的一个无限分级树"就是一个利用JavaScript实现的可以无限扩展层级的树结构组件。这种组件通常用于展示具有层级关系的数据,并提供交互功能,如展开/折叠节点、搜索、拖放等。 首先,我们需要理解树的基本概念...

    jstree创建无限分级树的方法【基于ajax动态创建子节点】.docx

    jstree 创建无限分级树的方法基于ajax动态创建子节点 jstree 是一个基于 JavaScript 的树形控件,可以用来创建复杂的树形结构。今天,我们将讨论如何使用 jstree 创建无限分级树,并基于 AJAX 动态创建子节点。 ...

    js javascript 无限级菜单

    无限级菜单允许用户在多个层次之间导航,这意味着菜单项可以有子菜单,这些子菜单也可以有它们自己的子菜单,以此类推,形成无限级别的结构。在HTML中,我们通常使用`&lt;ul&gt;`和`&lt;li&gt;`元素来创建这样的树形结构。 1. *...

    jstree创建无限分级树的方法【基于ajax动态创建子节点】

    总的来说,创建jstree无限分级树的关键在于正确地设计数据库结构,编写能够动态获取子节点的服务器端代码,以及合理配置jstree的客户端选项。通过这种方式,你可以构建出一个响应式且可扩展的树形视图,用户可以根据...

    JS树形表格(可分级展开)

    otreetable.js 原生JS树形表格,调用非常简单(只需一句代码即可调用),获取HTML中输出的表格数据重构表格,以树形方式显示,可展开/收缩,不破坏表格原有数据格式及内容,支持无限级,兼容所有浏览器。当前版本...

    超强网页树形结构-无限分级、面向对象

    无限分级 面向对象的方式 从数据库中读取节点后,只要一句代码,如用JSP (rs.next()){ %&gt; d.add(("id")%&gt;,("pid")%&gt;,'("title")%&gt;'); &lt;% }%&gt;

    jsp无限分级模块增删改,dtree显示

    【JSP无限分级模块】是Web开发中常见的一种功能,用于构建层次结构的数据展示,比如组织结构、目录树等。这个模块通常涉及到前端与后端的交互,利用JavaScript库如dtree来呈现树形结构,并通过JavaServer Pages(JSP...

    jsTree大集合 各种树形结构

    jsTree 是一个功能丰富的JavaScript库,专门用于创建、操作和展示树形数据结构。它以其灵活性、易用性和强大的API著称,适用于构建网页上的交互式树形菜单和图表。在这个“jsTree大集合”中,你将找到一系列关于js...

    dtree、JavaScript编写成的简单的树形菜单组件

    dTree可以不用添加任何页面而直接用代码实现多个栏目,并可以实现无限分级,下面是官方介绍的优点: - Unlimited number of levels(无限分级) - Can be used with or without frames(可用于框架或非框架页面) - ...

    110产品可无限分级的企业网站系统源代码(经过测试验证)

    为了实现无限分级,可能采用了递归或者树形结构的数据模型。同时,考虑到是毕业设计项目,源代码应具备良好的注释和文档,方便初学者理解和学习。 总结来说,"110产品可无限分级的企业网站系统源代码"是一个实用且...

    JavaScript树形菜单控件

    1. **无限分级**:dTree支持创建任意深度的树形结构,允许用户无限制地展开和折叠各级菜单。 2. **多实例**:一个页面中可以创建多个独立的dTree实例,每个实例可以显示不同的数据源,提供灵活的布局和信息展示。 3....

    dtree树型控件(纯js)

     dTree可以不用添加任何页面而直接用代码实现多个栏目,并可以实现无限分级,下面是官方介绍的优点:  - Unlimited number of levels(无限分级)  - Can be used with or without frames(可用于框架或非框架页面) ...

    无限级联代码 非常好用,易扩展

    这种分级方式有助于减少用户在大量选项中寻找的困扰,提升用户体验。 在实际应用中,无限级联的实现通常包括以下几个关键步骤: 1. 数据获取:从服务器通过Ajax请求获取级联数据,可能是JSON格式。 2. 数据解析:在...

    多种树形菜单

    总之,dTree是一个强大的JavaScript树形菜单库,它提供无限级别的分级、多实例支持以及自定义图标等功能,使得开发人员能够轻松创建出适应各种需求的交互式树形菜单。结合"区域树形菜单"这一具体示例,我们可以...

    C#递归方法实现无限级分类显示效果实例

    在本例中,每个分类可能有多个子分类,这些子分类也可以有子分类,形成无限级别的层次结构。 3. **C#递归方法实现**: 在C#中,使用递归方法处理无限级分类的关键在于正确地定义递归函数,该函数接受当前节点的...

    基于jquery实现无限级树形菜单

    接着,JavaScript逻辑方面,本文使用了jQuery库提供的方法来控制树形菜单的行为。点击任何一个带有类名为"a"的ul元素时,会触发一个点击事件处理函数。在这个函数中,通过判断当前ul元素是否含有"shows"类来决定是...

    dtree树形菜单

    dtree是一个由JavaScript编写成的简单的树形菜单组件,目前免费并且开源。 dtree 目前有很多的树形菜单组件(比如... dTree可以不用添加任何页面而直接用代码实现多个栏目,并可以实现无限分级,下面是官方介绍的优点:

    javascript--dtree

    首先,dTree的核心特性之一是它的无限分级能力。这意味着你可以创建任意深度的树结构,非常适合展示多层次的信息。这对于网站导航、组织复杂的分类系统或者展示嵌套的数据集来说非常有用。 其次,dTree支持在同一...

Global site tag (gtag.js) - Google Analytics