如何在 php 循环中设置第一个孩子处于活动状态



im 试图用循环循环我的手风琴, 但现在我的活跃状态是所有 LI 的。

$(function() {
// (Optional) Active an item if it has the class "is-active"    
$(".accordion > .accordion-item.is-active").children(".accordion-panel").slideDown();
$(".accordion > .accordion-item").click(function() {
// Cancel the siblings
$(this).siblings(".accordion-item").removeClass("is-active").children(".accordion-panel").slideUp();
// Toggle the item
$(this).toggleClass("is-active").children(".accordion-panel").slideToggle("ease-out");
});
});

我的菲律宾语

<?php if( $the_query->have_posts() ): ?>
<ul class="accordion">
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li class="accordion-item is-active">...

第一次迭代需要一个计数器或布尔值。在不更改大量代码的情况下,这里有一个可能的解决方案:

<?php if( $the_query->have_posts() ): ?>
<ul class="accordion">
<?php $isFirst = true; ?>
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li class="accordion-item <?= $isFirst ? 'is-active' : '' ?>"></li>
...
<?php $isFirst = false; ?>
<?php endwhile; ?>
</ul>    

您还可以使用 for 循环并检查第一个索引。

最新更新