尝试做手风琴式的展示。
更好地参考我想要的显示类型: https://imgur.com/tr9cd52
你会注意到Lily的右边有一个箭头,点击它会显示下面的项目。
我的挑战在于正确遍历DOM,以便在单击按钮时找到显示/隐藏的下一个ul。我是怎么做到的?
我确定你能说出我要做的是显示嵌套的风格,但是在一个盒子里创建一个手风琴效果。
工作小提琴https://jsfiddle.net/zigzag/aLb5d2uL/10/
$('.menu-toggle').click(function(e) {
e.preventDefault(); // prevent <a> to redirect to the top of the page
$(this).nextall('ul').toggle();
});
&#13;
.chartArea {
padding: 20px 20px 0 0;
}
ul {
list-style-type: none;
}
.glyphicon {
color: white;
}
.tile {
margin: 10px;
padding: 20px;
background-color: gray;
font-family: segoe UI;
color: white;
min-height: 150px;
}
.empDetails {
font-size: 14px;
color: white;
}
.chartArea ul li {
display: none;
}
.chartArea>ul>li {
display: block;
}
&#13;
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="container-fluid chartArea">
<ul>
<li>
<div class="tile">Adam</div>
</li>
<li>
<div class="tile">
<div class="col-sm-2 img_tile">
<img src="http://via.placeholder.com/50x50">
</div>
<div class="col-sm-8 empDetails">
<h4>
Lily
</h4>
<p>
Director
</p>
<p>
Ensure quality and timely delivery through resource and time management.
</p>
</div>
<div class="col-sm-2 toggle_button">
<a class="menu-toggle" href="#">
<span class="glyphicon glyphicon-menu-down"></span>
</a>
</div>
</div>
<ul>
<li>
<div class="tile">
<div class="col-sm-2 img_tile">
<img src="http://via.placeholder.com/50x50">
</div>
<div class="col-sm-8 empDetails">
<h4>
Sen
</h4>
<p>
Manager
</p>
<p>
Ensure quality and timely delivery through resource and time management.
</p>
</div>
</div>
</li>
<li>
<div class="tile">Another Sen</div>
<ul>
<li>
<div class="tile">Sen jr</div>
</li>
</ul>
</li>
</ul>
</li>
<li class="tile">Justin</li>
</ul>
</div>
&#13;
大部分代码都张贴在上面。我有一些嵌套的UL Li标签,但无法找到一种方法来创建一个逻辑,每次都会折叠或显示点击周围的对象列表。
答案 0 :(得分:3)
这里发生了很多事情。
.chartArea ul { display: none; }
更改为.chartArea ul li ul {display: none; }
,以便只有&lt; ul&gt; 里面&lt; li&gt;是隐藏的。我实际上建议您稍微更改HMTL标记以使DOM导航更容易,但要使用标记执行此操作,您需要执行以下操作:
这里是小提琴。请注意,我更改了您的jQuery和一个CSS规则。 https://jsfiddle.net/f4m22hmy/1/