javascript樹形導航選單例項程式碼
樹形選單在網頁中有著廣泛的應用,因為它能夠很好的組織起主次分類關係,同時也節省了網頁的空間,當然是先此種效果的方式有多重多樣,下面是用原生javascript實現的此效果,希望能夠對需要的朋友有所幫助。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>js實現的樹形選單-螞蟻部落</title> <style type="text/css"> .expand{ cursor:pointer; } .hide{ cursor:pointer; } </style> <script type="text/javascript"> function toggleChild(o){ var cls=o.getAttribute("class"); if(cls == "expand"){ var sb=o.nextSibling; if(window.innerWidth) sb=sb.nextSibling; while(sb!= null&&sb.tagName.toLowerCase()=='dd'){ sb.style.display="none"; sb=sb.nextSibling; if(window.innerWidth) sb = sb.nextSibling; } o.removeAttribute("class"); o.setAttribute("class", "hide"); if(window.innerWidth) //ff o.textContent = "田" + o.textContent.substring(1); else o.innerText = "田" + o.innerText.substring(1); } else{ var sb = o.nextSibling; if(window.innerWidth) sb = sb.nextSibling; while (sb != null && sb.tagName.toLowerCase() == 'dd'){ sb.style.display = ""; sb = sb.nextSibling; if(window.innerWidth) sb = sb.nextSibling; } o.removeAttribute("class"); o.setAttribute("class", "expand"); if(window.innerWidth) //ff o.textContent = "曰" + o.textContent.substring(1); else o.innerText = "曰" + o.innerText.substring(1); } } function maketree(obj){ var dts=obj.getElementsByTagName('dt'); var bro=navigator.userAgent; for(var i=0;i<dts.length;i++){ if(bro.indexOf("MSIE 6.0")>0|| bro.indexOf("MSIE 7.0")>0){ dts[i].setAttribute("className", "expand"); } else{ dts[i].setAttribute("class","expand"); } if(window.innerWidth) dts[i].textContent="曰"+dts[i].textContent; else dts[i].innerText="曰"+dts[i].innerText; dts[i].onclick=function(){toggleChild(this);}; } } window.onload=function(){ maketree(document.getElementById("tree")); }; </script> </head> <body> <h3>定義列表也能變成一棵樹:</h3> <dl id="tree"> <dt>選單一</dt> <dd>1.1 div教程</dd> <dd>1.2 css教程</dd> <dd>1.3 ccc</dd> <dt>選單二</dt> <dd>2.1 jQuery教程</dd> <dd>javascript教程</dd> <dt>選單三</dt> <dd> <dl style="margin-top:2px; margin-bottom:2px;"> <dt>3.1</dt> <dd>螞蟻部落一</dd> <dd>螞蟻部落二</dd> <dt>3.2</dt> <dd>螞蟻部落三</dd> <dd>螞蟻部落四</dd> </dl> </dd> </dl> </body> </html>
相關文章
- CSS3立體導航選單程式碼例項CSSS3
- jq+css+html打造下拉導航選單例項CSSHTML單例
- 點選平滑下拉展開摺疊樹形導航選單
- JavaScript二級導航選單JavaScript
- JavaScript 三級導航選單JavaScript
- html 仿百度百科導航下拉選單功能例項程式碼介紹HTML
- JavaScript 表單驗證程式碼例項JavaScript
- 採用JavaScript+XML實現具有樹形選單功能的論壇側邊導航欄JavaScriptXML
- JavaScript slide下拉導航選單效果JavaScriptIDE
- JavaScript 點選複製選中文字程式碼例項JavaScript
- PbootCMS導航選單-導航選單的使用教程boot
- JavaScript橫向二級導航選單效果JavaScript
- JavaScript可摺疊屬性導航選單JavaScript
- JavaScript下拉摺疊導航選單講解JavaScript
- tpextbuilder- 左側樹形導航UI
- JavaScript in運算子程式碼例項JavaScript
- css繪製圓形程式碼例項CSS
- JavaScript運動框架程式碼例項JavaScript框架
- JavaScript取餘數程式碼例項JavaScript
- JavaScript 阻止事件冒泡程式碼例項JavaScript事件
- 利用transform skewX製作平行四邊形導航選單ORM
- CSS3心形效果程式碼例項CSSS3
- 純css tab選項卡程式碼例項CSS
- jQuery tab選項卡效果程式碼例項jQuery
- CSS垂直導航選單CSS
- JavaScript陣列合並程式碼例項JavaScript陣列
- JavaScript倒數計時程式碼例項JavaScript
- CSS jquery圓角帶陰影的導航選單程式碼分享CSSjQuery
- canvas繪製圓形鐘錶程式碼例項Canvas
- CSS3梯形效果程式碼例項CSSS3
- CSS導航條選單:帶小三角形CSS
- JavaScript刪除元素節點程式碼例項JavaScript
- JavaScript中常用的事件程式碼及例項JavaScript事件
- CSS 動態導航選單CSS
- 導航選單(動畫)--- jQuery動畫jQuery
- JavaScript實現HTML導航欄下拉選單[懸浮顯示]JavaScriptHTML
- jquery.idTabs.min.js選項卡程式碼例項jQueryJS
- HTML6實現摺疊選單與手風琴選單的例項程式碼HTML
- jQuery點選滑出層效果程式碼例項jQuery