首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多级导航toggleClass

多级导航toggleClass
EN

Stack Overflow用户
提问于 2014-05-28 14:13:40
回答 1查看 1.5K关注 0票数 0

现在,我正试图像Microsoft.com一样操作菜单。我有一个问题,能够切换隐藏的无序列表在我的链接。如果你想观察这里,我会做一个局部的小提琴

--这是标记

代码语言:javascript
复制
 <nav class="multi-menu">
  <ul>
   <li>
     <a href="#">Link</a>
  <div class="sub-menu">
   <ul>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
   </ul>
  </div>
   </li>
   <li><a href="#">Link</a></li>
   <li><a href="#">Link</a></li>
   <li><a href="#">Link</a></li>
   <li><a href="#">Link</a></li>
  </ul>
</nav>

这是CSS标记:

代码语言:javascript
复制
 .multi-menu, .sub-menu {
  background: #34495e;
 }

 .multi-menu li {
  display: inline-block;
 }

 .multi-menu li a {
  display: block;
  padding: 20px 30px;
  color: white;
  text-decoration: none;
 }

 .sub-menu { 
  position: absolute;
  display: inline-block;
  width: 100%;
 }

 .sub-menu ul li {
  display: block;
  float: left;
  width: 20%;
 }

这里是JQuery标记

代码语言:javascript
复制
 $(document).ready(function(){
  $(".multi-menu li a").each(function() {
if ($(this).next().length > 0) {
    $(this).addClass("parent");
   };
})

var menu = $(".multi-menu li a.parent");
 $(".parent").click(function (e){
  e.preventDefault();
 $(this).parent(".sub-menu ul").toggleClass('open');
  });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-28 15:09:23

首先,您可以删除div并将sub-menu类直接添加到ul元素中:

代码语言:javascript
复制
<li>
    <a href="#">Link</a>
    <ul class="sub-menu">
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
    </ul>
</li>

然后,在jQuery代码中,使用siblingsnext查找与父链接相关的子菜单,单击:

代码语言:javascript
复制
$(".parent").on("click", function (e){
    e.preventDefault();
    $(this).siblings(".sub-menu").toggleClass('open');
});

对于动画可见性效果,可以使用各种jQuery方法,例如:

代码语言:javascript
复制
$(this).siblings(".sub-menu").slideToggle();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23914102

复制
相关文章

相似问题

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