【发布时间】:2020-08-26 17:14:16
【问题描述】:
我有以下三列布局,我正在使用引导程序。当我单击一列时,该列旁边的每一列也会展开。出于某种原因,我无法在此处显示 sn-p 代码,因此我附上了我所得到的图像。
如果可能的话,我想改变这种行为。我想单击一列并仅展开该列而不展开其他列。关于如何实现它的任何想法?
$('li.submenu a[href="#"]').click(
function(e) {
e.preventDefault();
$(this).toggleClass('open');
$(this).next().toggle();
$('.col-md-4').toggleClass('flex-last');
return false;
});
ul.ul_submenu {
display: none;
}
.submenu a i {
transition: ease .3s;
}
.submenu a.open i {
transform: rotate(-90deg);
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://kit.fontawesome.com/a076d05399.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container-fluid">
<div class="row">
<div class="col-md-4">
<ul>
<li class="submenu" id="atag"><a href="#">Apparel & Accessories #1 <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Clothing <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Men <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu">blabla</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="col-md-4">
<ul>
<li class="submenu" id="atag"><a href="#">Apparel & Accessories #1 <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Clothing <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Men <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu">blabla</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="col-md-4">
<ul>
<li class="submenu" id="atag"><a href="#">Apparel & Accessories #1 <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Clothing <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Men <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu">blabla</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="col-md-4">
<ul>
<li class="submenu" id="atag"><a href="#">Apparel & Accessories #1 <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Clothing <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Men <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu">blabla</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="col-md-4">
<ul>
<li class="submenu" id="atag"><a href="#">Apparel & Accessories #2 <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Clothing <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Men <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu">blabla</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="col-md-4">
<ul>
<li class="submenu" id="atag"><a href="#">Apparel & Accessories #3 <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Clothing <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu"><a href="#">Men <i class="fas fa-caret-down" style="color: grey;"></i></a>
<ul class="ul_submenu">
<li class="submenu">blabla</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
【问题讨论】:
-
这把小提琴是你想要的吗? jsfiddle.net/florentroques/y2f6mjdz/10
-
您想要的行为会出现在桌面屏幕上?
-
是的,没错!因为在较小的屏幕中,列(每个主要类别)将垂直堆叠,一个在另一个之下。
-
感谢@Florent Roques 的回复。实际上,不,我正在寻找完全不同的东西。出于某种原因,我无法获得 sn-p 代码来显示我所拥有的确切信息。但是要解释一下,我有三列类别,当我单击一列时,该列旁边的每一列也会展开。如果可能的话,我想改变这种行为。我想单击一列并仅展开该列而不是整个水平行。关于如何实现它的任何想法?
-
对不起,我的意思是在上一条消息中说水平行和垂直行。所以我更正了最后一条消息并再次发送。
标签: javascript html css bootstrap-4