Menu1
Menu1_1
Menu1_2
Menu2
Menu2_1
Menu2_2
Menu3
Menu3_1
Menu3_1
以此選單為例,使用者未點選前,只要看到 Menu1、Menu2、Menu3就好,當點選其中一項時,在展開該項目的所有子選單。最簡單的作法如下...
假設原始html碼為
<div id="c_navi">
<ul>
<li>
<span>Menu1</span>
<ul>
<li>Menu1_1</li>
<li>Menu1_2</li>
</ul>
</li>
<li>
<span>Menu2</span>
<ul>
<li>Menu2_1</li>
<li>Menu2_2</li>
</ul>
</li>
<li>
<span>Menu3</span>
<ul>
<li>Menu3_1</li>
<li>Menu3_2</li>
</ul>
</li>
</ul>
</div>
我們要填加的jQuery碼如下:
$('div#c_navi ul li ul').hide();
$('div#c_navi > ul > li > span').click(function(){
$(this).next().slideToggle('slow');
});
說明:
一開始先將所有的子選單隱藏起來hide(),然後,當使用者點擊選單標題(也就是span)時,被點擊的那個span的next標籤(也是就使用者想看的子選單),會以伸縮的動畫展開(slideToggle)。
線上範例
請問版主: 這樣的效果點了第一個MENU後展開 但是要關還要再點一次 不能選MENU2或MENU3時自動隱藏MENU1,也就是說 選了第一個之後再點選其他的任一個時會自動關掉剛剛啟動的這個
ReplyDelete謝謝您