首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >手风琴菜单-仅开放一次

问手风琴菜单-仅开放一次
EN

Stack Overflow用户
提问于 2016-10-16 03:42:18
回答 1查看 289关注 0票数 0

我在尝试让我的jQuery手风琴样式菜单一次只显示一个打开的内容时遇到了一些困难,同时active类只被设置在打开的菜单选项上,而父菜单也没有被切换。

这应该是相当简单的,但我似乎有点生疏!下面是我的工作脚本的一个片段,它不遵循我想要应用的规则,这意味着您可以最大限度地展开所有菜单项,而不需要折叠任何其他菜单项。

我已经浏览了StackOverflow的答案,但没有一个我遇到的问题解决了我的问题,尽管我相信这将是一个重复的另一个问题,所以我的道歉在先进!

​

代码语言:javascript
复制
$('.SideNav .Menu li a').click(function() {
	if($(this).closest("li").children("ul").length) {
		$(this).parent().toggleClass('active');
		$(this).next().slideToggle('fast');
	}
});
代码语言:javascript
复制
ul.Menu li ul { display:none; }
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="SideNav">
  <ul class="Menu">
    <li><a href="javascript:;">1</a></li>
    <li><a href="javascript:;">2 - I have siblings</a>
      <ul>
        <li><a href="javascript:;">2.1 - I have siblings</a>
        <ul>
          <li><a href="javascript:;">2.1.1</a></li>
          <li><a href="javascript:;">2.1.2</a></li>
          <li><a href="javascript:;">2.1.3</a></li>
        </ul>
        </li>
        <li><a href="javascript:;">2.2 - I have siblings</a>
        <ul>
          <li><a href="javascript:;">2.2.1</a></li>
          <li><a href="javascript:;">2.2.2</a></li>
          <li><a href="javascript:;">2.2.3</a></li>
        </ul>
        </li>
        <li><a href="javascript:;">2.3</a></li>
      </ul>
    </li>
    <li><a href="javascript:;">3 - I have siblings</a>
      <ul>
        <li><a href="javascript:;">3.1</a></li>
        <li><a href="javascript:;">3.2</a></li>
        <li><a href="javascript:;">3.3</a></li>
      </ul>
    </li>
  </ul>
</div>

​

澄清:

单击菜单时,所有不是同一棵树的部分--包括在同一级别上的那些--如果单击了另一个子类别,就意味着如果您在2 > 2.1 > 2.1.1上,然后单击2 > 2.1 > 2.1.2,2 > 2.1 > 2.1.1将滑动回上,单击2 > 2.2,2 > 2.1内的所有用户都将滑回。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-16 16:04:39

我希望这能帮上忙。

​

代码语言:javascript
复制
$('.SideNav .Menu li a').click(function() {
  $(this).parent().siblings().find("ul").hide('fast');
	if($(this).closest("li").children("ul").length) {
		$(this).parent().toggleClass('active');
		$(this).next().slideToggle('fast');
	}
});
代码语言:javascript
复制
ul.Menu li ul { display:none; }
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="SideNav">
  <ul class="Menu">
    <li><a href="javascript:;">1</a></li>
    <li><a href="javascript:;">2 - I have siblings</a>
      <ul>
        <li><a href="javascript:;">2.1 - I have siblings</a>
        <ul>
          <li><a href="javascript:;">2.1.1</a></li>
          <li><a href="javascript:;">2.1.2</a></li>
          <li><a href="javascript:;">2.1.3</a></li>
        </ul>
        </li>
        <li><a href="javascript:;">2.2 - I have siblings</a>
        <ul>
          <li><a href="javascript:;">2.2.1</a></li>
          <li><a href="javascript:;">2.2.2</a></li>
          <li><a href="javascript:;">2.2.3</a></li>
        </ul>
        </li>
        <li><a href="javascript:;">2.3</a></li>
      </ul>
    </li>
    <li><a href="javascript:;">3 - I have siblings</a>
      <ul>
        <li><a href="javascript:;">3.1</a></li>
        <li><a href="javascript:;">3.2</a></li>
        <li><a href="javascript:;">3.3</a></li>
      </ul>
    </li>
  </ul>
</div>

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40066582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档