Раскрыть конкретный спойлер
Есть спойлер который по нажатию на один заголовок (дату) раскрывает все что есть.
Как сделать, чтобы по нажатию на дату будет раскрываться конкретный спойлер, но не все
jquery
$('.spoiler-body').hide(300);
$(document).on('click','.spoiler-head',function (e) {
e.preventDefault()
$(this).parents('.spoiler-wrap').toggleClass("active").find('.spoiler-body').toggle();
})
css
.spoiler-wrap.disabled .spoiler-body{display:none}
html спойлера
<div class="spoiler-wrap">
<?php
$current_id = '';
foreach($get_all_conf as $item) {
if ($item['date_conf'] !== $current_id) { ?>
<div class="spoiler-head">
<?php
echo '<h2>' . $item['date_conf'] . '</h2>';
$current_id = $item['date_conf'];
?>
</div>
<?php
}
?>
<div class="spoiler-body">
<?php
echo $item['user_reserved'];
?>
</div>
<?php
}
?>
</div>
Ответы (1 шт):
Автор решения: UModeL
→ Ссылка
В виду того, что автор не приложил ни конечную HTML-разметку ни стили, предполагаю такое решение:
$(".spoiler-body").hide(300);
$(document).on("click", ".spoiler-head", function (e) {
e.preventDefault();
$(this)
.parents(".spoiler-wrap")
.toggleClass("active")
.find(".spoiler-body")
.toggle(300);
});
.spoiler-wrap {
box-shadow: inset 0 0 0 1px #57aa43;
font: normal 14px sans-serif;
}
.spoiler-head h2 {
margin: 0;
padding: .3em;
font: normal 28px sans-serif;
background-color: #57aa43;
color: #fff;
}
.spoiler-body {
display: none;
padding: .6em;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="spoiler-wrap">
<div class="spoiler-head">
<h2>21.03.2021</h2>
</div>
<div class="spoiler-body">
admin
</div>
</div>
<div class="spoiler-wrap">
<div class="spoiler-head">
<h2>24.03.2021</h2>
</div>
<div class="spoiler-body">
admin
</div>
<div class="spoiler-body">
admin
</div>
</div>
