[問題] 如果用ul跟jquery來實作樹狀選單,該怎麼做才能達到我的要求

看板Web_Design作者時間17年前 (2008/09/25 15:10), 編輯推噓0(004)
留言4則, 2人參與, 最新討論串1/1
我現在打算用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

09/25 15:25, , 1F
去找 jdmenu , 有現成的東西.
09/25 15:25, 1F

09/25 15:27, , 2F
另外hover 兩個事件的觸發順序跟繼承效應, 也要考慮進去.
09/25 15:27, 2F

09/25 15:27, , 3F
A > B 的狀況 B的hover也會觸發 A 的hover ,沒擋住的話.
09/25 15:27, 3F

09/25 15:49, , 4F
恩,我也是考慮到繼承效應,可是我有加上return false
09/25 15:49, 4F
文章代碼(AID): #18spbIR5 (Web_Design)
文章代碼(AID): #18spbIR5 (Web_Design)