gpt4 book ai didi

javascript - 使用slideToggle时,如何让所有其他div向后滑动?

转载 作者:行者123 更新时间:2023-11-28 05:17:45 25 4
gpt4 key购买 nike

我正在使用 bootstrap 构建我的作品集网站。我需要在我的作品集的图像下添加项目详细信息。当我单击图像时,它会上下切换,但如果我单击另一个图像,第一个 div 仍然可见。当用户使用 SlideToggle 单击另一个图像时,如何使所有其他可见的“项目详细信息”div 向后滑动?

$('div.project-detail').hide();

$('img.doug').click(function() {
$('#dougDet').slideToggle();
});

$('img.ambe').click(function() {
$('#ambeDet').slideToggle();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="workBlock" class="portfolio-block fixed-bg dark-bg">
<div class="row">
<img src="assets/portfolio/doug-fir-logo-for-instagran.jpg" alt="Doug Fir Digital Logo" class="portfolio-half doug">
<img src="assets/portfolio/AmbeCreations-logo.jpg" alt="Ambe creations logo" class="portfolio-half ambe">
</div>
<div class="project-detail" id="dougDet">
<p>doug</p>
<p>doug</p>
<p>doug</p>
<p>doug</p>
<p>doug</p>
</div>
<div class="project-detail" id="ambeDet">
<p>ambe</p>
<p>ambe</p>
<p>ambe</p>
<p>ambe</p>
<p>ambe</p>
</div>
</div>

最佳答案

您可以通过在其他 .project-detail 元素上调用 slideUp() 并切换目标元素来实现所需的目的。

另请注意,您可以通过在所有 .portfolio-half 元素上使用单个事件处理程序并使用 data-* 属性来区分代码,从而使代码变得干燥。他们,像这样:

$('img.portfolio-half').click(function() {
var $target = $($(this).data('target')).slideToggle();
$('.project-detail').not($target).slideUp();
});
div.project-detail { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="workBlock" class="portfolio-block fixed-bg dark-bg">
<div class="row">
<img src="assets/portfolio/doug-fir-logo-for-instagran.jpg" alt="Doug Fir Digital Logo" class="portfolio-half doug" data-target="#dougDet">
<img src="assets/portfolio/AmbeCreations-logo.jpg" alt="Ambe creations logo" class="portfolio-half ambe" data-target="#ambeDet">
</div>
<div class="project-detail" id="dougDet">
<p>doug</p>
<p>doug</p>
<p>doug</p>
<p>doug</p>
<p>doug</p>
</div>
<div class="project-detail" id="ambeDet">
<p>ambe</p>
<p>ambe</p>
<p>ambe</p>
<p>ambe</p>
<p>ambe</p>
</div>
</div>

另请注意,我将 .project-detail 元素的隐藏移至 CSS 以避免加载 JS 时出现 FOUC。

关于javascript - 使用slideToggle时,如何让所有其他div向后滑动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40831864/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com