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/

相关文章:

javascript - 设置要与 jquery click 函数一起使用的变量

jquery - 在 jQuery 中添加带有 for 循环的 div

html - CSS,如何设置布局

java - Apache Tomcat 上的应用程序抛出 HTTP 405 错误

javascript - 如何查找屏幕上的 ID

css - 如何使上边距为窗口高度的一定百分比?

javascript - 这个 Javascript 语法有什么问题?

javascript - 获取 HTML 选择元素的预选值

html - 使无序列表可滚动

javascript - 无需打开网站即可自动事件(没有访客的 cron)