一段遞迴產生類似Windows資源管理員一樣效果的樹狀菜單的代碼

來源:互聯網
上載者:User
window|菜單|遞迴 <HTML>
<HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<SCRIPT lanuage="JScript">
function turnit(ss,ii,aa)
{

if (ss.style.display=="none")
{ss.style.display="";
aa.style.display="";
ii.src=http://www.163design.net/a/y/"minus.gif";
}

else
{ss.style.display="none";
aa.style.display="none";
ii.src=http://www.163design.net/a/y/"http://www.163design.net/a/y/plus.gif";}
}

function onlyclose(ss,ii,aa)
{
ss.style.display="none";
aa.style.display="none";
ii.src=http://www.163design.net/a/y/"http://www.163design.net/a/y/plus.gif";
}
</SCRIPT>
</HEAD>
<BODY bgColor=#99CCFF>
<%
dim dbConn
dim IDIndex

IDIndex = 0

'建立資料庫連接
Set dbConn = Server.CreateObject("Adodb.Connection")
dbConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("test.mdb")

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''組建檔案類型樹的遞迴函式,傳入參數:NowItem為樹節點的ID ''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub DoItem(NowItem)
dim rsTest
dim YoungerBrother '下一個兄弟節點的ID
dim OlderSon '第一個位元組點的ID

'建立記錄集
set rsTest = Server.CreateObject("Adodb.recordset")

'產生sql語句,操作Doc_TypeTree表
strSql = "select * from tab_test where ID = '" & NowItem & "'"

'產生記錄集
rsTest.open strSql,dbConn,1,3

if rsTest.eof then
rsTest.close
set recDosType = nothing
exit sub
end if

YoungerBrother = trim(rsTest("BrotherNode") & "")
OlderSon = trim(rsTest("SonNode") & "")
NodeID = trim(rsTest("ID") & "")
NodeName = trim(rsTest("NodeName") & "")

'顯示子節點
if OlderSon = "" or OlderSon = "00" then '當此項無子項時,輸出相應的代碼
response.write "<TR>" & chr(10)
response.write "<TD> </TD>" & chr(10)
response.write "<TD>"
response.write "<A href='test'>" & NodeName & "</A>"
response.write "</TD>" & chr(10)
response.write "</TR>" & chr(10)
else
'*1.顯示本項內容
response.write "<TR>" & chr(10)
response.write "<TD language=JScript onmouseup=turnit(" & _
"Content" & IDIndex & "," & _
"img" & IDIndex & "," & _
"Aux" & IDIndex & ");>" & chr(10)
response.write "<IMG height=9 id=img" & IDIndex & " src='http://www.163design.net/a/y/plus.gif' width=9>" & chr(10)
response.write "</TD>" & chr(10)
response.write "<TD>" & chr(10)
response.write "<A href='Frame_4_publish.asp?DocTypeID=" & _
NodeID & "' target='frmFour'>" & NodeName & _
"</A>" & chr(10)
response.write "</TD>" & chr(10)
response.write "</TR>" & chr(10)

'*2.輸出子孫樹頭代碼
response.write "<TR>" & chr(10)
response.write "<TD id=Aux" & IDIndex & " style='display: none'> </TD>" & chr(10)
response.write "<TD id=Content" & IDIndex & " style='display: none'>" & chr(10)
response.write "<TABLE border='0'>"
IDIndex = IDIndex + 1

'*3.輸出子孫樹代碼
call DoItem(OlderSon)

'*4.輸出子孫樹尾代碼
response.write "</TABLE>"
response.write "</TD>" & chr(10)
response.write "</TR>" & chr(10)
end if

if YoungerBrother <> "" and YoungerBrother <> "00" then
call DoItem(YoungerBrother)
end if

rsTest.close
set rsTest = nothing
end Sub

response.write "<table border='0'>"
call DoItem("01")
response.write "</table>"

dbConn.close
set dbConn = nothing
%>
</BODY>
</HTML>



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.