jQuery學習之設計樹形菜單

 TreeView即樹形視圖。TreeView通常被佈置在頁面的側邊欄位置,並可摺疊收縮。javascript

如下用兩個示例來展現TreeView形式的網站導航功能。css

1、普通TreeView前端

原理:經過設定上層節點中特定元素的鼠標單擊觸發事件,對下層子節點進行顯示樣式更改。java

 

實現步驟:jquery

1.獲取須要響應鼠標單擊事件的上層節點元素對象。ide

2.對鼠標單擊事件進行加工,修改子節點樣式。函數

 

 

<script type="text/javascript" src="jslib/jquery-1.8.3.js"></script>動畫

<script type="text/javascript" >網站

$(document).ready(this

function(){

$(".pe_u_thumb_list").children("img").toggle(

                        /*對父節點中的圖片元素設定觸發事件*/

function(){ /*鼠標單擊圖片奇數次時隱藏下層節點*/        

$(this).parent().next("ul").hide();

}, 

function(){/*鼠標單擊圖片偶數次時展開下層節點*/

$(this).parent().next("ul").show();

}

);<!--end of toggle-->

}

);

</script>

<style type="text/css">

ul { list-style:none; }

</style>

</head>

 

<body>

<ul>

<li class="pe_u_thumb_list"><img src="p_w_picpaths/listicon.jpg" /><a href="#">CSS</a></li>

<ul>

    <li>級聯樣式</li>

    <li>統一設定標記元素樣式</li>

</ul>

<li class="pe_u_thumb_list"><img src="p_w_picpaths/listicon.jpg"/><a href="#">Javascript</a></li>

<ul>

<li>網頁前端腳本語言</li>

    <li>對事件響應實現網頁動態效果</li>

</ul>

 

</ul>

</body>

效果以下所示:

2、加入淡入淡出效果的TreeView

實現步驟:

1.取得要顯示的節點對象,並在其上定義單擊事件

2.在單擊事件中取得後續標記元素對象總體,並在其上加入切換顯示狀態動畫。

 

代碼中用到的部分函數或方法:

1.jQuery遍歷——nextAll()方法,該方法得到匹配元素集合中每一個元素的全部跟隨的同胞元素,

語法:.nextAll(selector)

2.jQuery效果——toggle()方法,該方法切換元素的可見狀態,若是被選元素可見,則隱藏這些元素,若是被選元素隱藏,則顯示這些元素。

語法:$(selector).toggle(speed,callback,switch)

 

代碼以下:

<script type="text/javascript">

$(document).ready(

function(){

var main = $("ul > a"); <!--">"爲CSS子元素選擇器-->

main.click(function(){

var sub = $(this);

var item = sub.nextAll("li");/*取得表明TreeView全部子節點的元素對象*/

item.toggle("slow");/*修改子節點顯示狀態*/

});

}

);

</script>

<style>

ul { list-style:none;}

</style>

</head>

 

<body>

<ul><a href="#"><strong>西安郵電大學</strong></a>

    <li><img src="p_w_picpaths/listicon.jpg" /><a href="http://www.xupt.edu.cn">計算機學院</a></li>

    <li><img src="p_w_picpaths/listicon.jpg" /><a href="#">通訊與信息工程學院</a></li>

    <li><img src="p_w_picpaths/listicon.jpg" /><a href="#">電子工程學院</a></li>

</ul>

 

<ul><a href="#"><strong>陝西師範大學</strong></a>

<li><img src="p_w_picpaths/listicon.jpg" /><a href="http://www.snnu.edu.cn">計算機科學學院</a></li>

    <li><img src="p_w_picpaths/listicon.jpg" /><a href="#">歷史文化學院</a></li>

    <li><img src="p_w_picpaths/listicon.jpg" /><a href="#">外國語學院</a></li>

</ul>

</body>

 

效果以下:

點擊「西安郵電大學」幾個字,下面的學院信息被隱藏:

相關文章
相關標籤/搜索