主要用vb脚本,采用四次循环,嵌套着javascript,勉强实现了功能,但是提示“运行此脚本,会使你的计算机变得很慢”
一共包括三个文件,shu.asp——显示页面,dtree.js——定义的函数,dtree.css——样式表
shu.asp
——————————————————————————————————————————————
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Tree</title>
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<body>
<hr />
<%
dim conn,connstr,sql,rs,rs1,rs2,rs3,shu,i,j,k,l
connstr="db1.mdb"
connstr="Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " & server.MapPath(connstr)
set conn = server.CreateObject("Adodb.Connection")
set rs=server.CreateObject("Adodb.RecordSet")
set rs1=server.CreateObject("Adodb.RecordSet")
set rs2=server.CreateObject("Adodb.RecordSet")
set rs3=server.CreateObject("Adodb.RecordSet")
conn.open connstr
%>
<div class="tree">
<p><a href="javascript: tt.openAll();">打开所有节点</a> | <a href="javascript: tt.closeAll();">关闭所有节点</a></p>
<script type="text/javascript">
<!--
tt = new dTree('tt');
tt.add(0,-1,'机构目录');
<%
sql="select * from hangye_lei_one"
rs.open sql,conn,1,3
shu=rs.recordcount
i=1
while not rs.eof
%>
tt.add(<%=i%>,0,'<%=rs(1)%>','http://hi.baidu.com/hwolfs');
<%
sql="select * from hangye_lei_two where lei_one_name='"&rs(1)&"'"
rs1.open sql,conn,1,3
j=shu+1
shu =shu+rs1.recordcount
while not rs1.eof
%>
tt.add(<%=j%>,<%=i%>,'<%=rs1(1)%>','http://hi.baidu.com/hwolfs');
<%
sql="select * from hangye_lei_three where lei_two_name='"&rs1(1)&"'"
rs2.open sql,conn,1,3
k=shu+1
shu =shu+rs2.recordcount
while not rs2.eof
%>
tt.add(<%=k%>,<%=j%>,'<%=rs2(1)%>','http://hi.baidu.com/hwolfs');
<%
sql="select * from hangye_lei_four where lei_three_name='"&rs2(1)&"'"
rs3.open sql,conn,1,3
l=shu+1
shu =shu+rs3.recordcount
while not rs3.eof
%>
tt.add(<%=l%>,<%=k%>,'<%'=rs3(1)%>','http://hi.baidu.com/hwolfs');
<%
l=l+1
rs3.movenext
wend
rs3.close
k=k+1
rs2.movenext
wend
rs2.close
j=j+1
rs1.movenext
wend
rs1.close
i=i+1
rs.movenext
wend
rs.close
%>
document.write(tt);
-->
</script>
</div>
</body>
</html>
dtree.js
————————————————————————————————————————
// Node object
function Node(id, pid, name, url, title, target, icon, iconOpen, open) {
this.id = id;
this.pid = pid;
this.name = name;
this.url = url;
this.title = title;
this.target = target