【发布时间】:2020-11-01 21:02:22
【问题描述】:
我试图通过单击具有 SlideUp 功能的按钮来关闭 div。 但是当我点击按钮时,它会按预期打开并关闭其他 div。但不关闭它会重新打开。
这是我的html代码
<div class="row all-row">
<div class="col-lg-4">
<div class="main-acc">
<div class="brand-wrapper">
<img src="img.png" alt="">
<h5 class="p-3">Lorem</h5>
<div class="card-wrapper">
<div class="card border-0 text-center">
<h5>Ipsunlore</h5>
<p>
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Eius unde est ut consequatur error amet eligendi vero aut assumenda.
</p>
<a href="#" class="">Find</a>
</div>
</div>
<a class="btn d-flex justify-content-between align-items-center opener" href="#">
<h5 class="m-0">Lorem</h5>
<i class="fa fa-chevron-up pl-3"></i>
</a>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="main-acc">
<div class="brand-wrapper">
<img src="image.jpg" alt="">
<h5 class="p-3">Lorem</h5>
<div class="card-wrapper">
<div class="card border-0 text-center">
<h5>Mister: Ipsun</h5>
<p>
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Eius unde est ut consequatur error amet eligendi vero aut assumenda.
</p>
<a href="#" class="">From</a>
</div>
</div>
<a class="btn d-flex justify-content-between align-items-center opener" href="#">
<h5 class="m-0">Lorem</h5>
<i class="fa fa-chevron-up pl-3"></i>
</a>
</div>
</div>
</div>
</div>
这里是 Jquery 代码:
<script>
$(".opener").click(function(){
$(".all-row").find(".card-wrapper").slideUp();
$(this).closest(".card-wrapper").slideToggle();
})
</script>
【问题讨论】:
-
你用手风琴来做这个有意义吗? getbootstrap.com/docs/4.3/components/collapse 我很难理解你想要的行为与你看到的行为。也许您可以尝试更清楚地解释这一点。
-
这当然有道理,但我正在努力学习 jquery。
-
每次
.opener被点击.all-row内的每一个.card-wrapper都会关闭,无论它是否打开,因此点击.opener也总是会关闭closest.card-wrapper,即使它已经关闭,然后将其切换为打开状态。我建议使用状态类,例如is-open。 -
对不起,我没听懂。
标签: javascript html jquery slidetoggle slideup