$('.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;
我在MANUALS主要项目下添加了一些子项目。 当我点击其父主要项目时,如何使其子菜单隐藏和显示?
我尝试编写一些jQuery代码,但现在只能隐藏项目但不能让它再次显示。 我的jQuery代码有问题吗?
答案 0 :(得分:2)
只需将“显示/隐藏”替换为“切换”功能,如下所示:
$('.slideout-menu li').click(
function() {
$(this).children('.mobile-sub-menu').toggle();
});
这样可以正常工作。