写道
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>树型目录</title>
<style type="text/css">
<!--
html,body {height:100%;margin:0;font:12px tahoma,宋体,sans-serif;}
a {text-decoration:none;}
a,a:visited {color:#000;background:inherit;}
p {margin:0;padding:0 0 0 18px;}
p a,p a:visited {color:#00f;background:inherit;}
/*树型目录开始*/
.TreeMenu img.s {cursor:pointer;vertical-align:middle;}
.TreeMenu ul {padding:0;}
.TreeMenu li {list-style:none;padding:0;}
.Closed ul {display:none;}
.Child img.s {background:none;cursor:default;}
#TreeMenu {float:left;width:200px;height:98%;border:1px solid #99BEEF;background:#D2E4FC;color:inherit;margin:3px;padding:3px;}
#TreeMenu ul {margin:0 0 0 17px;}
#TreeMenu img.s {width:34px;height:18px;}
#TreeMenu .Opened img.s {background:url(TreeMenu_img/opened.gif) no-repeat 0 1px;}
#TreeMenu .Closed img.s {background:url(TreeMenu_img/closed.gif) no-repeat 0 1px;}
#TreeMenu .Child img.s {background:url(TreeMenu_img/child.gif) no-repeat 13px 2px;}
/*树型目录结束*/
-->
</style>
<script type="text/javascript">
<!--
function Ob(o){
var o=document.getElementById(o)?document.getElementById(o):o;
return o;
}
function Hd(o) {
Ob(o).style.display="none";
}
function Sw(o) {
Ob(o).style.display="";
}
function ExCls(o,a,b,n){
var o=Ob(o);
for(i=0;i<n;i++) {o=o.parentNode;}
o.className=o.className==a?b:a;
}
function TreeMenu(id,TagName0) {
this.id=id;
this.TagName0=TagName0==""?"li":TagName0;
this.AllNodes = Ob(this.id).getElementsByTagName(TagName0);
this.InitCss = function (ClassName0,ClassName1,ClassName2,ImgUrl) {
this.ClassName0=ClassName0;
this.ClassName1=ClassName1;
this.ClassName2=ClassName2;
this.ImgUrl=ImgUrl || "TreeMenu_img/s.gif";
this.ImgBlankA ="<img src=\""+this.ImgUrl+"\" class=\"s\" onclick=\"ExCls(this,'"+ClassName0+"','"+ClassName1+"',1);\" alt=\"展开/折叠\" />";
this.ImgBlankB ="<img src=\""+this.ImgUrl+"\" class=\"s\" />";
for (i=0;i<this.AllNodes.length;i++ ) {
this.AllNodes[i].className==""?this.AllNodes[i].className=ClassName1:"";
this.AllNodes[i].innerHTML=(this.AllNodes[i].className==ClassName2?this.ImgBlankB:this.ImgBlankA)+this.AllNodes[i].innerHTML;
}
}
this.SetNodes = function (n) {
var sClsName=n==0?this.ClassName0:this.ClassName1;
for (i=0;i<this.AllNodes.length;i++ ) {
this.AllNodes[i].className==this.ClassName2?"":this.AllNodes[i].className=sClsName;
}
}
}
-->
</script>
</head>
<body>
<div class="TreeMenu" id="TreeMenu">
<p><a id="AllOpen" href="#" onclick="MyTreeMenu.SetNodes(0);Hd(this);Sw('AllClose');">全部展开</a><a id="AllClose" href="#" onclick="MyTreeMenu.SetNodes(1);Hd(this);Sw('AllOpen');" style="display:none;">全部折叠</a></p>
<ul>
<li class="Opened"><a href="http://www.gushu.cn/" target="_blank">网站后台管理系统</a>
<!--目录节点开始-->
<ul>
<li><a href="#1">111</a>
<ul>
<li><a href="#2">222</a>
<ul>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
</ul>
</li>
<li><a href="#">Web编程</a>
<ul>
<li class="Child"><a href="#">Java</a></li><!--Child Node-->
<li class="Child"><a href="#">.Net</a></li>
<li class="Child"><a href="#">ASP/VBScript</a></li>
<li class="Child"><a href="#">PHP</a></li>
<li class="Child"><a href="#">Perl/Python</a></li>
<li class="Child"><a href="#">Web综合/开源</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<!--目录节点开始-->
</li>
</ul><ul>
<li class="Opened"><a href="http://www.gushu.cn/" target="_blank">网站后台管理系统</a>
<!--目录节点开始-->
<ul>
<li><a href="#1">111</a>
<ul>
<li><a href="#2">222</a>
<ul>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
</ul>
</li>
<li><a href="#">Web编程</a>
<ul>
<li class="Child"><a href="#">Java</a></li><!--Child Node-->
<li class="Child"><a href="#">.Net</a></li>
<li class="Child"><a href="#">ASP/VBScript</a></li>
<li class="Child"><a href="#">PHP</a></li>
<li class="Child"><a href="#">Perl/Python</a></li>
<li class="Child"><a href="#">Web综合/开源</a></li>
</ul>
</li>
</ul>
</li> <li><a href="#1">111</a>
<ul>
<li><a href="#2">222</a>
<ul>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
<li class="Child"><a href="#">333</a></li>
</ul>
</li>
<li><a href="#">Web编程</a>
<ul>
<li class="Child"><a href="#">Java</a></li><!--Child Node-->
<li class="Child"><a href="#">.Net</a></li>
<li class="Child"><a href="#">ASP/VBScript</a></li>
<li class="Child"><a href="#">PHP</a></li>
<li class="Child"><a href="#">Perl/Python</a></li>
<li class="Child"><a href="#">Web综合/开源</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<!--目录节点开始-->
</li>
</ul>
</div>
<script type="text/javascript">
<!--
var MyTreeMenu=new TreeMenu("TreeMenu","li");
MyTreeMenu.InitCss("Opened","Closed","Child","TreeMenu_img/s.gif");
-->
</script>
</body>
</html>
分享到:
相关推荐
这款js树菜单库提供了多种样式,能满足不同设计需求,无论是在后台管理系统还是在数据分类展示上都能发挥出其优势。 在Ztree中,树形菜单的基本结构由节点组成,每个节点可以包含文本、图标以及子节点等信息。通过...
"JS 树菜单集合(最全)"是针对这一需求提供的资源包,包含多种类型的树菜单实现,适用于不同的场景和设计要求。 树菜单在JS中通常通过DOM操作和事件监听来构建,它们的核心原理是递归地生成和管理节点。"jstree....
"js树菜单源代码集合"是一个汇集了多种JavaScript实现的树形菜单的资源包,提供了丰富的示例和代码片段,对于开发者来说是学习和借鉴的好材料。 这个压缩包中可能包含了各种不同风格和功能的树菜单实现,如静态树...
在JavaScript编程中,树形菜单是一种常见的用户界面元素,它以层级结构展示数据,通常用于网站导航、文件系统浏览或数据库记录的展示。本压缩包包含两个文件:"可以拖动的IEtree树型.htm" 和 "树型结构_lj不错.htm"...
在标签中,“JS树形菜单”、“JavaScript树形菜单”和“树形菜单”都是对这个技术的关键词描述,强调其基于JavaScript的实现。JavaScript作为客户端脚本语言,使得树形菜单能够在用户的浏览器端动态生成和操作,无需...
在"js树形菜单加右键菜单"这个项目中,我们可以看到两个关键组件的结合。代码文件`code.htm`很可能是实现这一功能的HTML页面,它可能包含了树形菜单的基本结构和右键菜单的触发器。CSS文件`css`则负责定义样式,包括...
以下是一个简单的JavaScript树形菜单的实现示例: ```javascript function renderMenu(data, parentEl) { for (let item of data) { let li = document.createElement('li'); let a = document.createElement('a...
总的来说,构建JavaScript树形菜单涉及的技术包括HTML结构设计、CSS样式控制、JavaScript DOM操作、事件处理、数据结构和算法(如遍历树形结构)、以及可能的异步加载和动画效果。通过这些技术的组合,我们可以创建...
JavaScript树形菜单是一种在网页中实现层次结构数据展示的交互方式,它通常用于导航、文件管理、选项配置等场景。"带复选框"的JS树形菜单则更进一步,允许用户通过勾选复选框来选择或操作树节点,为用户提供了一种...
JS无限级树形菜单3种
在JavaScript(JS)开发中,树菜单和日期选择器是两个常见的UI组件,它们用于增强用户界面的交互性和功能性。本文将深入探讨这两个组件的工作原理、实现方式以及如何在实际项目中应用它们。 首先,我们来看树菜单。...
"js树形菜单"是使用JavaScript编程语言来实现这种功能的技术。JavaScript作为一种强大的客户端脚本语言,能够在用户与网页之间提供实时的交互,使得树形菜单不仅具有视觉吸引力,而且操作起来非常直观。 实现js树形...
JS树形菜单源代码下载,JS树形菜单源代码下载JS树形菜单源代码下载JS树形菜单源代码下载JS树形菜单源代码下载JS树形菜单源代码下载JS树形菜单源代码下载JS树形菜单源代码下载JS树形菜单源代码下载JS树形菜单源代码...
JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,而树形菜单在前端UI设计中扮演着重要角色,尤其在数据层级结构展示时。JS树形菜单允许用户以交互方式浏览多级数据,提供了一种高效、...
可动态添加/删除节点,启用/不启用复选框,启用连线或不连线,支持自定义ICON图标,可获取当前选中节点参数及父级目录树,可用作级联下拉树菜单等。 可获取HTML中li列表自动生成树菜单(可用作网站多级分类目录) ...
"js树形菜单"就是利用JavaScript技术来创建这种具有多级层次的菜单系统。 树形菜单的核心在于递归和事件处理。在JS中,我们可以使用数组或对象来表示树节点的数据结构,每一层节点都是上一层节点的子节点。例如: ...
javascript树形菜单
综上所述,"一个js树形菜单"项目是一个学习和实践JavaScript核心技能的好例子,它涵盖了数据结构、DOM操作、事件处理、CSS样式等多个方面,对提升Web开发能力大有裨益。通过研究项目中的代码和实现方式,开发者不仅...