【问题标题】:How do i set first-child active in php loop如何在 php 循环中设置第一个孩子处于活动状态
【发布时间】:2020-05-27 12:52:54
【问题描述】:

我试图用一个循环来循环我的手风琴, 但现在我的活跃状态是所有 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

<?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">...

【问题讨论】:

  • 加载时第一个项目应该有活动状态

标签: javascript php loops


【解决方案1】:

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

<?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 循环并检查第一个索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2020-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多