jQuery多級樹形選單詳解
樹形選單在網站中有大量的應用,因為它的獨特優點:
(1).可以有效的組織資料,使分類更為清晰明瞭。
(2).樹形選單是可以摺疊的,以更小的空間容納更多的資料。
下面就詳細介紹一個使用jquery實現的樹形選單。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> h1, h2, h3, h4, h5, p, dl, dt, dd, ul, ol, li, input, img, body, button, form, table{ margin:0; padding:0; border:0; list-style:none; font-size:12px; font-weight:normal } a{text-decoration:none} a:link, a:visited{color:#333} a:hover{background:#FC9} .aside{ width:163px; padding-left:10px } .aside h2{ font-size:16px; padding-left:15px } .all{background:url(mytest/jQuery/bg_02.gif) no-repeat 0 6px;} .all1{background:url(mytest/jQuery/bg_02.gif) no-repeat 0 -41px} .box{background:url(mytest/jQuery/bg_02.gif) no-repeat 0 10px;} .box1{background:url(mytest/jQuery/bg_02.gif) no-repeat 0 -37px} .aside ul{margin-left:15px} .aside li{ display:none; height:24px; line-height:24px; margin-left:26px } .aside .bold{ display:block; font-size:14px; height:30px; line-height:30px; padding-left:15px } </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('.all1').toggle(function(){ $(this).removeClass('all1').addClass('all').siblings('.myUl').slideUp(); },function(){ $(this).removeClass('all').addClass('all1').siblings('.myUl').slideDown(); }); $('.box').toggle(function(){ $(this).removeClass('box').addClass('box1'); },function(){ $(this).removeClass('box1').addClass('box'); }); $('.bold').toggle(function(){ $(this).siblings().slideDown(); },function(){ $(this).siblings().slideUp(); }) }) </script> </head> <body> <div class="aside"> <h2 class="all1">KPI考核指標</h2> <ul class="myUl"> <span class="bold box">當月考核結果</span> <li><a href="" title="" alt="">日考核結果跟蹤</a></li> <li><a href="" title="" alt="">日考核扣分分析</a></li> <li><a href="" title="" alt="">日扣分佔比分析</a></li> <li><a href="" title="" alt="">月扣分佔比分析</a></li> <li><a href="" title="" alt="">考核異常跟蹤</a></li> </ul> <ul class="myUl"> <span class="bold box">年累計考核結果</span> <li><a href="" title="" alt="">月考核結果跟蹤</a></li> <li><a href="" title="" alt="">年累計扣分分析</a></li> <li><a href="" title="" alt="">扣分佔比分析</a></li> </ul> <ul class="myUl"> <span class="bold box">資料統計</span> <li><a href="" title="" alt="">考核指標環比分析</a></li> <li><a href="" title="" alt="">考核指標扣分佔比分析</a></li> <li><a href="" title="" alt="">考核指標趨勢分析</a></li> <li><a href="" title="" alt="">考核指標排名分析</a></li> <li><a href="" title="" alt="">考核指標同比分析</a></li> </ul> </div> </body> </html>
可以實現屬性選單的摺疊和展開效果,下面介紹一下它的實現過程。
一.實現原理:
(1).摺疊和展開圖示的切換:
摺疊和展開圖示在一張背景圖上,當點選的時候,通過控制背景圖片位置實現切換效果,具體可以參閱CSS background-position一章節。
(2).選單的摺疊和隱藏:
選單的摺疊和隱藏主要是控制標題元素的兄弟元素的隱藏和顯示實現的,參閱相關閱讀。
二.程式碼註釋:
(1).$(document).ready(function(){}),文件結構完全載入完畢再去執行函式中的程式碼。
(2).$('.all1').toggle(function(){},function(){}),點選元素切換函式的執行。
(3).$(this).removeClass('all1').addClass('all').siblings('.myUl').slideUp(),這是一個鏈式呼叫,首先會移出當前點選元素上的樣式class屬性all1,然後為再為其新增樣式class屬性all,然後將它的同輩元素中class屬性值為myUl的元素收縮隱藏,一句話,這段程式碼實現了點選一級樹,實現二級數樹隱藏效果。
(4).$(this).removeClass('all').addClass('all1').siblings('.myUl').slideDown(),此程式碼和上面的作用相反,點選一級樹,實現二級數的顯示效果。後面程式碼功能都是類似的,不多介紹。
三.相關閱讀:
(1).toggle()參閱jQuery toggle()一章節。
(2).removeClass()參閱jQuery removeClass()一章節。
(3).addClass()參閱jQuery addClass()一章節。
(4).siblings()參閱jQuery siblings()一章節。
(5).slideUp()參閱jQuery slideUp()一章節。
(6).slideDown()參閱jQuery slideDown()一章節。
相關文章
- jQuery三級導航選單詳解jQuery
- 垂直樹形多級導航選單程式碼例項
- jquery二級下拉導航選單詳解jQuery
- MySql樹形結構(多級選單)查詢設計方案MySql
- jquery.treegrid是一個樹形選單外掛jQuery
- ztree樹形選單demo
- oracle樹形選單查詢Oracle
- [MySQL] 實現樹形的遍歷(關於多級選單欄以及多級上下部門的查詢問題)MySql
- JavaScript二級下拉選單詳解JavaScript
- jQuery 二級下拉選單jQuery
- jQuery手風琴導航選單詳解jQuery
- JavaScript省市級聯選單原理詳解JavaScript
- CSS多級選單CSS
- jQuery垂直手風琴導航選單詳解jQuery
- Android 多級樹形結構顯示Android
- jQuery - 選擇器詳解jQuery
- 基於JQuery的自定義樹形選單表格,實現展開、收起效果jQuery
- jQuery zTree 展示樹形表格jQuery
- jQuery css3環形導航選單jQueryCSSS3
- CSS三級下拉導航選單詳解CSS
- jquery實現四級級聯下拉選單jQuery
- jQuery與CSS二級下拉選單jQueryCSS
- jquery tab選項卡詳解jQuery
- 二級下拉導航選單製作詳解
- javascript樹形導航選單例項程式碼JavaScript單例
- css樹形導航選單程式碼例項CSS
- jQuery點選展開摺疊手風琴導航選單詳解jQuery
- Vue 遞迴多級選單Vue遞迴
- jQuery操作單選框、多選框是否選中問題jQuery
- 【動態規劃】樹形DP完全詳解!動態規劃
- 原生js三級導航選單實現詳解JS
- jQuery星級評分效果詳解jQuery
- Vue遞迴元件實現樹形結構選單Vue遞迴元件
- 解析json資料生成樹形導航選單JSON
- WPF實現樹形下拉選單框(TreeComboBox)
- jQuery + jQuery Mobile 實現省市二級下拉選單頁面jQuery
- 樹形問題選講
- 03【若依框架解讀】Tree樹形結構的控制(選單,部門)框架