jquery - 单击主元素时如何显示和隐藏子菜单?

标签 jquery html css

$('.slideout-menu li').click(
        function() {
             $(this).children('.mobile-sub-menu').show();
        },
        function() {
              $(this).children('.mobile-sub-menu').hide();
    }); 
.slideout-menu {
  position: absolute;
  top: 100px;
  left: 0px;
  width: 100%;
  height: 100%;
  background: rgb(248, 248, 248);
  z-index: 1;
}

.slideout-menu .slideout-menu-toggle {
  position: absolute;
  top: 12px;
  right: 10px;
  display: inline-block;
  padding: 6px 9px 5px;
  font-family: Arial, sans-serif;
  font-weight: bold;
  line-height: 1;
  background: #222;
  color: #999;
  text-decoration: none;
  vertical-align: top;
}
.slideout-menu .slideout-menu-toggle:hover {
  color: #fff;
}
.slideout-menu ul {
  list-style: none;
  font-weight: 300;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
}
.slideout-menu ul li {
  /*border-top: 1px solid #dddddd;*/
  border-bottom: 1px solid #dddddd;
}
.slideout-menu ul li a {
  position: relative;
  display: block;
  padding: 10px;
  color: #999;
  text-decoration: none;
}
.slideout-menu ul li a:hover {
  background: #aaaaaa;
  color: #fff;
}
.slideout-menu ul li a i {
  position: absolute;
  top: 15px;
  right: 10px;
  opacity: .5;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="slideout-menu">
    <ul>
      <li><a href="#">MANUALS</a>
        <ul class="mobile-sub-menu">
          <li><a href="#">1</a></li>
          <li><a href="#">1</a></li>
          <li><a href="#">1</a></li>
        </ul>
      </li>
      <li><a href="#">NEWS</a></li>
      <li><a href="#">SPARE PART</a></li>
      <li><a href="#">Photo Gallery</a></li>
      <li><a href="#">WHERE TO BUY</a></li>
      <li><a href="#">SUPPORT</a></li>
      <li><a href="#">EDIT BOOK</a></li>
    </ul>
  </div>

我在 MANUALS 主元素下添加了一些子元素。 当我点击它的父主元素时,我该怎么做才能让它的子菜单隐藏和显示?

我尝试编写一些 jQuery 代码,但现在只能隐藏该元素而不能让它再次显示。 我的 jQuery 代码有问题吗?

最佳答案

只需用这样的“切换”功能替换您的(显示/隐藏):

$('.slideout-menu li').click(
    function() {
          $(this).children('.mobile-sub-menu').toggle();
}); 

那会很好的。

切换功能:http://api.jquery.com/toggle/

关于jquery - 单击主元素时如何显示和隐藏子菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174994/

相关文章:

jquery - 制作向下滑动的移动响应菜单

jquery - Knockout Observable 和 Google Chrome 自动填充问题

添加输入字段的javascript

javascript - 更改 MSN 聊天状态图标

javascript - 我正在尝试制作具有相同标题的幻灯片

html - 将图像对齐到文本框的右侧

javascript - 在 Javascript 中将下拉字段乘以文本字段

javascript - jquery 无法获取文本字段的值

jquery - 更改放置 Bootstrap 工具提示

html - 如何在html中显示图像和左侧和文本右侧