2017-04-03 58 views
0

當頁面加載時,選擇手風琴的子菜單之一,因此它應打開所選子菜單的父菜單。當在Js手風琴菜單中選擇子菜單時保持所選的父菜單打開

您可以在小提琴中看到第一個父菜單的第一個子菜單被選中,但是當它加載時,它不會展開第一個父菜單。

目的是加載菜單2作爲esxpanded作爲子菜單1已被選中

檢查出這個小提琴 https://jsfiddle.net/shaswatatripathy/ucgff65k/8/

-------------- HTML-- ------------

<ul id="accordion" class="accordion"> 
         <li> 
          <div class="link">Menu 2</div> 
          <ul class="submenu"> 
           <li class="active" ><a href="#">submenu1</a></li> 
           <li><a href="#">submenu1</a></li> 
           <li><a href="#">submenu1</a></li> 
          </ul> 
         </li> 
         <li> 
          <div class="link">Menu 3</div> 
          <ul class="submenu"> 
           <li><a href="#">submenu1</a></li> 
           <li><a href="#">submenu1</a></li> 
           <li><a href="#">submenu1</a></li> 
          </ul> 
         </li> 
         </ul> 
+0

你有一對夫婦的問題有:(1)包含在問題本身的所有相關代碼和不依賴於(2)你li'爲活動標誌着'外部鏈接,但在你的代碼中,你正在使用'a'標記該選項爲活動狀態。 (3)您只編碼了點擊處理程序,那麼您爲什麼期望手風琴自動展開。你寫了那個代碼嗎? (4)看看這裏,看看你去哪裏錯了 - https://jsfiddle.net/abhitalks/ucgff65k/10/ – Abhitalks

回答

0

如果其中一個列表項處於活動狀態,您可以檢查子項的狀態並打開/顯示列表。

if ($('#accordion .submenu li.active').length > 0) { 
     $($('#accordion .submenu li.active')[0]).parent().show(); 
    } 

https://jsfiddle.net/xwfp6cy1/

+0

HI Alisher,感謝代碼 – tripathy