Изменить фоновое изображение с помощью jQuery, основываясь на переменной, установленной в цикле PHP While - PullRequest
0 голосов
/ 22 января 2019

У меня есть простой цикл PHP, который отображает скользящий слайдер.

При смене слайда я хочу получить переменную, которая находится внутри цикла while, и добавить ее в качестве background-url дляdiv вне цикла.

Однако, поскольку переменная является тем же именем в цикле, она будет помнить только конечную переменную цикла ... поэтому она будет изменять фон при смене слайда, но вфоновое изображение элемента последнего цикла ... а не изображение bg слайда CURRENT.

Я пытался включить код Javascript внутри цикла, а также вне цикла - но ни один из них не работает.Оба одинаковы.

Мне нужен способ выяснить, что это за слайд, и перехватить переменную php для слайдов, чтобы затем поместить в jQuery.

if( have_rows('slides') ): ?>

<div class="testimonial_wrapper" style="background: url() no-repeat center top;">

    <div class="new-wrapper">

    <!-- New Slider -->
        <div class="testimonial_inner_wrapper">
            <ul class="revs">
                <?php while ( have_rows('slides') ) : the_row(); ?>
                    <li>
                      <script>
                   jQuery(".testimonial_wrapper").on("beforeChange", function (){
                                jQuery(".testimonial_wrapper").css("background-image", "url(<?php the_sub_field('asset_image');?>)");
                            });
                       </script>
                        <div class="thumb"><img src="<?php the_sub_field('asset_image');?>" alt="" style="float:right; width:90%;"/></div>
                        <div class="desc">
                            <h3><?php the_sub_field('asset_title');?></h3>
                                <?php the_sub_field('asset_content');?>

                        <a href="<?php the_sub_field('landing_page_link');?>" class="btn1 hov1 " style="background: #fbb040; color: #ffffff; padding: 5px 15px; display: inline-block; font-size: 16px; margin-top: 20px;">Get Started</a>
                        </div>
                    </li>
                <?php endwhile; ?>

            </ul>
        </div>
    </div>
</div>     
<?php endif; ?>

Обратите внимание на пятно OnBeforeChangeСобытие вызывает jQuery до того, как слайд переключится.Я хочу подключиться к этому, получить поле ACF под названием 'asset_image' (которое является URL-адресом) СЛЕДУЮЩЕГО слайда и назначить его фону.

Мне как-то нужно «сохранить» «asset_image»значение для каждого слайда и установите его в качестве фона в качестве переключателей слайдов.

(у меня действительно было get_sub_field ('asset_image'); установлено в качестве переменной в цикле, но это было то же самое, что и код выше,в качестве последнего слайда в цикле установите значение переменной для всех слайдов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...