无限级目录树+记忆节点状态

类别:Asp 点击:0 评论:0 推荐:

借鉴 网友 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:  [email protected]
 Email:  [email protected]
 支持网站: 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>

本文地址:http://com.8s8s.com/it/it8956.htm