php 每根前根中的 Bootstrap 塌陷|如何只设置显示第一个元素

ffscu2ro  于 2023-01-29  发布在  PHP
关注(0)|答案(1)|浏览(94)
<?php foreach ($offers as $item): ?>
<h2 class="accordion-header" id="heading<?php echo $item->id; ?>"></h2>
<div id="collapse<?php echo $item->id; ?>" class="accordion-collapse collapse show" aria-labelledby="heading<?php echo $item->id; ?>" data-bs-parent="#default-accordion-example">
                  <div class="accordion-body">
<?php echo $item->id; ?>
</div>
<?php endforeach;?>

这给予我的结果:示例10折叠具有内容的选项卡:1,5,6,8,10,15,20....
问题:打开所有折叠。
我知道问题是循环:

class="accordion-collapse collapse show"

但是如何解决并使前一个标签显示和后一个标签关闭呢?

uoifb46i

uoifb46i1#

show应该只在你想要打开的第一个元素上。最简单的跟踪方法是使用键,如果数组没有自定义键,或者迭代器。使用三进制来检查第一个键,并且只在它是第一个键时回显show

<?php foreach ($offers as $key => $item): ?>
<h2 class="accordion-header" id="heading<?php echo $item->id; ?>"></h2>
<div id="collapse<?php echo $item->id; ?>" class="accordion-collapse collapse <?php echo $key == 0 ? 'show' : '' ?>" aria-labelledby="heading<?php echo $item->id; ?>" data-bs-parent="#default-accordion-example">
                  <div class="accordion-body">
<?php echo $item->id; ?>
</div>
<?php endforeach;?>

相关问题