借鉴 网友 iuhxq 的设计制作而成的目录树,在此感谢 iuhxq 的代码对我大帮助。
特点:
1、无限级节点。
2、直接产生html代码,容易修改。
3、目录清楚,类似于资源管理器,(csdn论坛的,层数多了就不容易分清楚层次了)。
4、记忆节点状态,人性化。
演示:
http://www.yemaweb.com/demo/tree/
下载:
http://www.yemaweb.com/demo/tree/tree.rar
核心代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%
time11=timer()
set conn=server.createobject("ADODB.CONNECTION")
connstr="DBQ="+server.mappath("db1.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
conn.open connstr
function menu(id)
set rs=server.CreateObject("adodb.recordset")
sql="select * from menu where id1="&id&" order by url,id"
rs.open sql,conn,1,1
if rs.recordcount=0 then
rs.close
set rs=nothing
exit function
end if
response.write("<table border='0' cellspacing='0' cellpadding='0'>")
i=1
while not rs.eof
if len(rs("url"))>0 then
if i=rs.recordcount then
menutype="file1"
else
menutype="file"
end if
menuname="<a href='"&rs("url")&"' target='_blank'>"&rs("menuname")&"</a>"
onmouseup=""
else
if i=rs.recordcount then
menutype="menu3"
listtype="list1"
onmouseup="chengstate('"&rs("id")&"')"
else
menutype="menu1"
listtype="list"
onmouseup="chengstate('"&rs("id")&"')"
end if
menuname=rs("menuname")
end if
%>
<tr>
<td id="pr<%= rs("id")%>" class="<%= menutype%>" onMouseUp="<%= onmouseup%>"><%= menuname%></td>
</tr>
<tr id="item<%= rs("id")%>" style="display:none">
<td class="<%= listtype%>"><%menu(rs("id"))%></td>
</tr>
<%
rs.movenext
i=i+1
wend
response.write("</table>")
rs.close
set rs=nothing
end function
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>=========目录树 for asp 1.0 =========</title>
<link href="menu.css" rel="stylesheet" type="text/css">
<script src="menu.js" type="text/javascript"></script>
</head>
<body onLoad="initialize()">
<!--
/******************************************************************************
*程序名称:目录树 for asp
*程序功能:基于asp+access的动态树形目录
*涉及函数:menu ;chengstate ;setupcookie ;initialize ;objExists ;saveCookie ;getCookie ;checkCookieExist ;deleteCookie
*函数意义:
menu :vbscrpt run server Create menu ;
chengstate :切换节点状态(open/close);
setupcookie :将节点状态存入Cookie ;
initialize :初始化节点状态(读取Cookie);
objExists :验证对象是否存在 ;
saveCookie :执行保存Cookie ;
getCookie :执行读取Cookie ;
checkCookieExist :验证Cookie是否存在 ;
deleteCookie :删除Cookie ;
*作 者:于恩水
*联系方式:
QQ: 46163020
msn: yuenshui@hotmail.com
Email: woaini4651@yahoo.com.cn
支持网站: www.yemaweb.com
如有问题,请与作者联系!!!
*制作日期:2004年5月21日
*修改次数:1
*最后修改:2004年5月21日
*备 注:此程序为免费使用的代码,可以由任何人用作任何合法的用途。
********************************************** 一下为修改 版本修改信息
*******************************************************************************/-->
=========无限级目录树=========<br>
<%
menu 0
conn.close
set conn=nothing
time12=timer()
%>
</body>
</html>
服务器执行时间<%=FormatNumber((time12-time11)*1000,1)%>毫秒<br>