如何在点击主项目时显示和隐藏子菜单?

时间:2015-07-02 03:10:27

标签: 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>
&#13;
&#13;
&#13;

我在MANUALS主要项目下添加了一些子项目。 当我点击其父主要项目时,如何使其子菜单隐藏和显示?

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

1 个答案:

答案 0 :(得分:2)

只需将“显示/隐藏”替换为“切换”功能,如下所示:

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

这样可以正常工作。

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