作者knives ()
看板Web_Design
標題[問題] 如果用ul跟jquery來實作樹狀選單,該怎麼做才能達到我的要求
時間Thu Sep 25 15:10:08 2008
我現在打算用jquery,配合<ul>、<li>來做出折疊式樹狀選單
可是我的樹狀選單有兩層以上
目前我的構想是這樣
<ul class="tree_menu" id="tr01">第一個父類別
<li class="tread">001</li>
<li class="tread">002</li>
.
.
</ul>
<ul class="tree_menu" id="tr02">第二個父類別
<li class="tread">001</li>
<li class="tread">002</li>
.
.
</ul>
<ul class="tree_menu" id="tr03">第三個父類別
<li class="tread">001</li>
<li class="tread">002</li>
.
.
</ul>
如果我打算在第一個父類別再加一層<ul>
目前是寫成這樣
<ul class="tree_menu" id="tr01">第一個父類別
<li class="tread">001</li>
<li class="tread">002</li>
<ul class="tree_menu" id="sub_tr01_01">第一個父類別的第一個子類別
<li class="tread">001</li>
<li class="tread">002</li>
</ul>
.
.
</ul>
然後我的jquery這樣寫
$('ul.tree_menu').hover(function(){
var j=$(this).attr("id");
alert(j);
$('ul[id!='+j+'] li').hide();
$('ul#'+j+' li ').fadeIn("slow");
return false;
},function(){});
我執行之後,畫面顯示是符合我的需求,
問題一:但是它的效果不是我想要的,我希望如果只移到第一個父類別,只顯示出其底下
的li而先不要顯示第一個父類別的第一個子類別底下的li
問題二:我用alert事件去顯示目前的id,可是當我滑鼠移到第一個父類別的第一個子類別
為什麼它是顯示第一個父類別的id
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.228.153.178
→ TonyQ:去找 jdmenu , 有現成的東西. 09/25 15:25
→ TonyQ:另外hover 兩個事件的觸發順序跟繼承效應, 也要考慮進去. 09/25 15:27
→ TonyQ:A > B 的狀況 B的hover也會觸發 A 的hover ,沒擋住的話. 09/25 15:27
→ knives:恩,我也是考慮到繼承效應,可是我有加上return false 09/25 15:49