XML+ JS創(chuàng)建樹(shù)形菜單.docx_第1頁(yè)
XML+ JS創(chuàng)建樹(shù)形菜單.docx_第2頁(yè)
XML+ JS創(chuàng)建樹(shù)形菜單.docx_第3頁(yè)
XML+ JS創(chuàng)建樹(shù)形菜單.docx_第4頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

XML+ JS創(chuàng)建樹(shù)形菜單 簡(jiǎn)單說(shuō)明: 思路:從數(shù)據(jù)島menuXML中讀取數(shù)據(jù),從樹(shù)的根節(jié)點(diǎn)開(kāi)始分析樹(shù),利用 hasChildNodes() 方法:是否含有子節(jié)點(diǎn) 判斷當(dāng)前節(jié)點(diǎn)是否有子節(jié)點(diǎn),如果有子節(jié)點(diǎn)繼續(xù)向下分析 childNodes 對(duì)象:子節(jié)點(diǎn)對(duì)象集合 ,否則返回當(dāng)前分析結(jié)果(樹(shù)結(jié)點(diǎn)對(duì)象)。 主要的函數(shù):createTree(thisn /*樹(shù)結(jié)點(diǎn)*/ , sd/*樹(shù)深度*/) 運(yùn)行代碼 DSTree body,tdfont:12px verdana#treeBoxbackground-color:#fffffa;#treeBox .ecmargin:0 5 0 5;#treeBox .hasItemsfont-weight:bold;height:20px;padding:3 6 0 6;margin:2px;cursor:hand;color:#555555;border:1px solid #fffffa;#treeBox .Itemsheight:20px;padding:3 6 0 6;margin:1px;cursor:hand;color:#555555;border:1px solid #fffffa;/code by star 20003-4-7var HC = color:#990000;border:1px solid #cccccc;var SC = background-color:#efefef;border:1px solid #cccccc;color:#000000;var IO = null;function initTree()var rootn = document.all.menuXML.documentElement;var sd = 0;document.onselectstart = function()return false;document.all.treeBox.appendChild(createTree(rootn,sd);function createTree(thisn,sd)var nodeObj = document.createElement(span);var upobj = document.createElement(span);with(upobj) style.marginLeft = sd*10; className = thisn.hasChildNodes()?hasItems:Items; innerHTML = + thisn.getAttribute(text) +; onmousedown = function() if(event.button != 1) return; if(this.getAttribute(cn) this.setAttribute(open,!this.getAttribute(open); .style.display = this.getAttribute(open)?inline:none; this.all.tags(img)0.src = this.getAttribute(open)?expand.gif:contract.gif; if(IO) IO.runtimeStyle.cssText = ; IO.setAttribute(selected,false); IO = this; this.setAttribute(selected,true); this.runtimeStyle.cssText = SC; onmouseover = function() if(this.getAttribute(selected)return; this.runtimeStyle.cssText = HC; onmouseout = function() if(this.getAttribute(selected)return; this.runtimeStyle.cssText = ; oncontextmenu = contextMenuHandle; onclick = clickHandle;if(thisn.getAttribute(treeId) != null) upobj.setAttribute(treeId,thisn.getAttribute(treeId);if(thisn.getAttribute(href) != null) upobj.setAttribute(href,thisn.getAttribute(href);if(thisn.getAttribute(target) != null) upobj.setAttribute(target,thisn.getAttribute(target);nodeObj.appendChild(upobj);nodeObj.insertAdjacentHTML(beforeEnd,)if(thisn.hasChildNodes() var i; var nodes = thisn.childNodes; var cn = document.createElement(span); upobj.setAttribute(cn,cn); if(thisn.getAttribute(open) != null) upobj.setAttribute(open,(thisn.getAttribute(open)=true); upobj.getAttribute(cn).style.display = upobj.getAttribute(open)?inline:none; if( !upobj.getAttribute(open)upobj.all.tags(img)0.src =contract.gif; for(i=0;inodes.length;cn.appendChild(createTree(nodesi+,sd+1); nodeObj.appendChild(cn);else upobj.all.tags(img)0.src =endnode.gif;return nodeObj;window.onload = initTree;function clickHandle()/ yo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論