2017-04-03 60 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