50分谁来给我看一个“这棵树”(属性菜单)啊?感激不尽!在线等!

antacy 2003-12-12 01:56:26
我自己做了一个树型菜单,结果演示如下:
http://www.eseng.com.cn/tree

由于我js 不好!我现在有以下问题请各位大侠相助:

1、当点开 子目录 时,无法显示树型菜单的 连线 ( blank.gif )____最需要解决的!

2、我想实现 只有在点击前面的小图标时,才进行子目录的展开和收缩(即在点后面显示的文字时只打开链接,不进行子菜单的展开和收缩————现在的状况是点后面的文字,它也进行的展开和收缩)

======================源代码如下(一个文件)================

<!--#include file="conn.asp"-->

<html>
<style TYPE="text/css">
/* Outline Style Sheet */
UL UL {display: none;
margin-left: 20pt}
</style>
<head>
<link rel="stylesheet" href="font.css">
<title>tree</title>
<script LANGUAGE="JavaScript">
function checkParent(src, dest) {
// Search for a specific parent of the current element
while (src!=null) {
if (src.tagName == dest) return src;
src = src.parentElement;
}
return null;
}
function outline() {
// Expand or collapse if a list item is clicked.
var open = event.srcElement;
// Make sure clicked inside an LI. This test allows rich HTML inside lists.
var el = checkParent(open, "LI");
if (null!=el) {
var pos = 0;
// Search for a nested list
for (var pos=0; pos<el.children.length; pos++) {
if ("UL"==el.children[pos].tagName) break;
}
if (pos==el.children.length) return;
} else return;
el = el.children[pos];
if ("UL"==el.tagName) {
// Expand or Collapse nested list
if (""==el.style.display) {
el.style.display = "block";
el.style.listStyleImage = "url(images/open.gif)";
el.style.listStyleImage = "url(images/blank.gif)";
el.parentElement.style.listStyleImage = "url(images/open.gif)";
}
else
{
el.style.display = "";
el.parentElement.style.listStyleImage = "url(images/close.gif)";
}
}
event.cancelBubble = true;
}
document.onclick = outline;
</script>
<base target="right">

</head>
<body bgColor=PaleTurquoise>
<%
set rs1=server.createobject("adodb.recordset")
sql="select id,att_filename,link from document where parent=0 "
rs1.open sql,conn,1,3
Response.write "<UL>"
do while not rs1.EOF

checksql="select * from document where parent="&rs1("id")
set checkrs=conn.execute(checksql)
if not checkrs.eof then
Response.write "<LI STYLE='list-style-image: url(images/close.gif)'><a href='"&rs1("link")&"'>"&rs1("att_filename")&"</a></LI><br>"
else
Response.write "<LI STYLE='list-style-image: url(images/open.gif)'><a href='"&rs1("link")&"'>"&rs1("att_filename")&"</a></LI><br>"
end if

Call ShowFolderList(rs1("id"))
rs1.MoveNext
loop
Response.write "</UL>"
rs1.Close
set rs1=nothing


Sub ShowFolderList(parentid)
set rs=server.createobject("adodb.recordset")
sql="select id,att_filename,link from document where parent="&cstr(parentid)&""
rs.open sql,conn,1,3
if (not rs.EOF) then
Response.write "<UL>"
do while not rs.EOF

s=rs("att_filename")


checksql2="select * from document where parent="&rs("id")
set checkrs2=conn.execute(checksql2)
if not checkrs2.eof then
Response.write "<li STYLE='list-style-image: url(images/close.gif)'>"
else
Response.write "<li STYLE='list-style-image: url(images/open.gif)'>"
end if
Response.write "<a href='"&rs("link")&"'>"&rs("att_filename")&"</a></LI><br>"
Response.write "</a>"

Call ShowFolderList(rs("id"))
rs.MoveNext
loop
rs.Close
set rs=nothing
Response.write "</UL>"
end if
end sub

%>
...全文
53 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ph4studio 2003-12-12
我在帮你测试,问题就在下面的语句,俺的js也不好,不过尽力吧
document.onclick = outline;

  • 打赏
  • 举报
回复
kirc 2003-12-12
你说的这两个问题,你的这个树都解决不了
1 这个树的缩进是由样式表决定的。margin-left: 20pt 在这20pt中是写不上图片的。
2 点击事件是发生在<UL>标签上的,而图片只是该标签的一个样式属性,根本捕获不到
Click 事件。
btw:你的脚本有问题,最好换个树。CSDN上有无数的。
  • 打赏
  • 举报
回复
antacy 2003-12-12
各位大侠,快来帮助帮助我一下嘛
  • 打赏
  • 举报
回复
swich 2003-12-12
ding
  • 打赏
  • 举报
回复
antacy 2003-12-12
请高手帮帮小弟啊!!
  • 打赏
  • 举报
回复
Primer2002cn 2003-12-12
关注
  • 打赏
  • 举报
回复
相关推荐
发帖
ASP
加入

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2003-12-12 01:56
社区公告
暂无公告