三层动态下拉菜单的例子
网络整理 - 09-19
写了一个三层动态读取文件夹的下拉菜单的例子,供大家参考!<%
'得到文件夹路径。注意设置文件名字
urlpath=server.mappath("\book")
set fsoBrowse=CreateObject("scripting.FileSystemObject")
'设置文件夹路径
if Request("path")="" then
lpath=urlpath&"\"
else
lpath=Request("path")&"\"
end if
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta http-equiv=PRAGMA CONTENT=NO-CACHE>
<title>中国国际航空公司</title>
<link href="news.css">
<script language="javascript1.2">
NS4 = (document.layers) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;
ver4 = (NS4 || IE4) ? 1 : 0;
if (ver4) {
with (document) {
write("<STYLE TYPE='text/css'>");
if (NS4) {
write(".parent {position:absolute; visibility:visible}");
write(".child {position:absolute; visibility:visible}");
write(".regular {position:absolute; visibility:visible}")
}
else {
write(".child {display:none}")
}
write("</STYLE>");
}
}
function getIndex(el) {
ind = null;
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id == el) {
ind = i;
break;
}
}
return ind;
}
function arrange() {
nextY = document.layers[firstInd].pageY +document.layers[firstInd].document.height;
for (i=firstInd+1; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.visibility != "hide") {
whichEl.pageY = nextY;
nextY += whichEl.document.height;
}
}
}
function initIt(){
if (!ver4) return;
if (NS4) {
for (i=0; i<document.layers.length; i++) {
whichEl = document.layers[i];
if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
}
arrange();
}
else {
divColl = document.all.tags("DIV");
for (i=0; i<divColl.length; i++) {
whichEl = divColl(i);
if (whichEl.className == "child") whichEl.style.display = "none";
}
}
}
function expandIt(el) {
if (!ver4) return;
if (IE4) {
whichEl = eval(el + "Child");
if (whichEl.style.display == "none") {
whichEl.style.display = "block";
}
else {
whichEl.style.display = "none";
}
}
else {
whichEl = eval("document." + el + "Child");
if (whichEl.visibility == "hide") {
whichEl.visibility = "show";
}
else {
whichEl.visibility = "hide";
}
arrange();
}
}
onload = initIt;
</script>
</head>
<body bgcolor="#ffffff" topmargin="0" leftmargin="0">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<%
'处理第一层文件目录
dim theFolder,theSubFolders
if fsoBrowse.FolderExists(lpath)then
Set theFolder=fsoBrowse.GetFolder(lpath)
Set theSubFolders=theFolder.SubFolders
'循环输出第一层文件
i=1
For Each x In theSubFolders
k="KB"&i
Parent=k&"Parent"
i=i+1
%>
<div> <a href="#" onClick="expandIt('<%=k%>'); return false"><img src="http://www.xbasp.net/i_option.gif"><%=x.Name%></a></div>
<%'处理第二层文件
onepath=lpath&x.Name&"\"
if fsoBrowse.FolderExists(onepath) then
Set ChildtheFolder=fsoBrowse.GetFolder(onepath)
Set ChildtheSubFolders=ChildtheFolder.SubFolders
Child=k&"Child"
%>
<div>
<%'循环输出第二层文件
m=1
For Each y In ChildtheSubFolders
k="KB"&i&m
m=m+1
%>
<img src="http://www.xbasp.net/filebox.gif"><a href="#" onClick="expandIt('<%=k%>'); return false"><%=y.Name%></a><br>
<%
'处理第三层文件
twopath=onepath&y.Name&"\"
if fsoBrowse.FolderExists(twopath) then
Set gtheFolder=fsoBrowse.GetFolder(twopath)
Set gtheSubFolders=gtheFolder.SubFolders
Child=k&"Child"
%>
<div>
<%
'循环输出第三层文件
For Each z In gtheSubFolders
%>
<img src="http://www.xbasp.net/filebox.gif"><%=z.Name%><br>
<%
Next
%>
</div>
<%
end if
%>
<%
Next
%>
</div>
<%
end if
%>
<%
Next
end if
%>
</td>
</tr>
</table>
</body>
</html>