$('.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();
});
那会很好的。
关于jquery - 单击主元素时如何显示和隐藏子菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174994/