在JSP中怎么用JS实现树形菜单

txm41 2008-11-04 08:54:30
在JSP中怎么用JS实现树形菜单,
...全文
403 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
woaitiyu 2008-11-04
  • 打赏
  • 举报
回复
xloadTree也不错的!
WrriorKitten 2008-11-04
  • 打赏
  • 举报
回复
学习
sdzxx2008 2008-11-04
  • 打赏
  • 举报
回复
用jquery库很容易实现的 若自己去实现的话 那就用点累了吧
s_Prince 2008-11-04
  • 打赏
  • 举报
回复
我给你段代码
<html>
<head>
<title>JavaScript树</title>

<style type="text/css">
<!-- 控制根节点的CSS样式单 -->
.Outline{
font-size: 9pt;
margin-left: 15pt;
text-indent: -28pt;
line-height: 15pt;
font-family: "宋体";
text-decoration: none;
}
<!-- 控制第一级子节点的CSS样式单 -->
.Outline1 {
font-size: 9pt;
margin-left: 24pt;
text-indent: -36pt;
line-height: 15pt;
font-family: "宋体";
text-decoration: none;
}
<!-- 控制第二级子节点的CSS样式单 -->
.Outline11 {
font-size: 9pt;
margin-left: 38pt;
text-indent: -50pt;
line-height: 15pt;
font-family: "宋体";
text-decoration: none;
}
<!-- 控制根节点下叶子节点的CSS样式单 -->
.passage0{
font-size: 9pt;
margin-left: 15pt;
text-indent: -28pt;
line-height: 15pt;
font-family: "宋体";
text-decoration: none;
}
<!-- 控制根节点下叶子节点的CSS样式单 -->
.passage1{
font-size: 9pt;
margin-left: 24pt;
text-indent: -36pt;
line-height: 15pt;
font-family: "宋体";
text-decoration: none;
}
<!-- 控制第一级节点下叶子节点的CSS样式单 -->
.passage11 {
font-size: 9pt;
margin-left: 38pt;
text-indent: -50pt;
line-height: 15pt;
font-family: "宋体";
text-decoration: none;
}
<!-- 控制第二级节点下叶子节点的CSS样式单 -->
.passage111 {
font-size: 9pt;
margin-left: 51pt;
text-indent: -64pt;
line-height: 15pt;
font-family: "宋体";
text-decoration: none;
}
</style>
<script type="text/javascript">
function clickHandler(){
//定义需要操作的HTML元素id
var targetId;
//定义需要操作的HTML元素
var targetElement;
//访问事件发生时的Event对象,定义发出事件的对象
var srcElement = event.srcElement;
//判断其calssName,访问其CSS样式单名,从而判断它是不是叶子节点,即刻节点可以展开
if(srcElement.className.substr(0,7) == "Outline"){
//获取该节点下展开div节点的id
targetId = srcElement.id.substr(0,12) + "details";
//获取该节点下展开的div节点
targetElement = document.all(targetId);
//如果该节点没有展开
if(targetElement.style.display == "none"){
//展开该节点的内容
targetElement.style.display = "";
}
//如果该叶子节点已经展开
else{
//收起该节点的内容
targetElement.style.display = "none";
}
//获取该节点前的图标的id
targetId = srcElement.id.substr(0,12) + "Image";
//获取该节点前的图标
targetElement = document.all(targetId);
//如果该节点前的图标为加号图标
if(targetElement.src.indexOf("plus")>=0){
//更改成减号图标
targetElement.src = "image/minus.gif";
}else{
//更换成加号图标
targetElement.src = "image/plus.gif";
}
}
}
document.onclick=clickHandler;
</script>
</head>

<body>
<!-- 根节点 -->
<div class="Outline" id="Out0100-0000">
<img class="Outline" id="Out0100-0000Image" style="cursor: hand;width: 20px;height: 20px;" src="image/plus.gif"/>
我的电脑
</div>
<!-- 下面的整个div都是根节点展开后的内容 -->
<div id="Out0100-0000details" style="display: none;">
<!-- 第一个第一级子节点 -->
<div class="Outline1" id="Out0101-0000">
<img class="Outline1" id="Out0101-0000Image" style="width: 20px;height: 20px;" src="image/plus.gif"/>
本地磁盘C:
</div>
<!-- "本地磁盘C:"节点展开后的节点内容 -->
<div id="Out0101-0000details" style="display: none;">
<div class="passage11">
<img class="passage11" src="image/passage.gif" style="width: 20px;height: 20px;"/>
文件一
</div>
<div class="passage11">
<img class="passage11" src="image/passage.gif" style="width: 20px;height: 20px;"/>
文件二
</div>
</div>
<!-- 第二个第一级子节点 -->
<div class="Outline1" id="Out0102-0000">
<img class="Outline1" id="Out0102-0000Image" src="image/plus.gif" style="width: 20px;height: 20px;"/>
本地磁盘D:
</div>
<!-- "本地磁盘D:"节点展开后的节点内容 -->
<div id="Out0102-0000details" style="display: none;">
<div class="passage11">
<img class="passage11" src="image/passage.gif" style="width: 20px;height: 20px;"/>
文件三
</div>
<div class="passage11">
<img class="passage11" src="image/passage.gif" style="width: 20px;height: 20px;"/>
文件四
</div>
</div>
<!-- 第三个第一级子节点 -->
<div class="Outline1" id="Out0103-0000">
<img class="Outline1" id="Out0103-0000Image" src="image/plus.gif" style="width: 20px;height: 20px;"/>
本地磁盘E:
</div>
<!-- "本地磁盘E:"节点展开后的节点内容 -->
<div id="Out0103-0000details" style="display: none;">
<div class="passage11">
<img class="passage11" src="image/passage.gif" style="width: 20px;height: 20px;"/>
文件五
</div>
<div class="passage11">
<img class="passage11" src="image/passage.gif" style="width: 20px;height: 20px;"/>
文件六
</div>
</div>
<!-- 根节点下的叶子节点 -->
<div class="passage1">
<img class="passage1" src="image/passage.gif" style="width: 20px;height: 20px;"/>
文件七
</div>
</div>
</body>
</html>
lx0584 2008-11-04
  • 打赏
  • 举报
回复
搜索一下alai数,肯定有收获
woshizn 2008-11-04
  • 打赏
  • 举报
回复


dtree 楼主上google搜吧,

67,541

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧