JQuery скрыть / показать функции перезаписать HTML-фоновый стиль встроенного изображения? - PullRequest
0 голосов
/ 15 октября 2018

Мои функции hide () / show () перезаписывают фоновое изображение встроенного стиля с помощью display: none / block, но каким-то образом не перезаписывают первый HTML-элемент фонового изображения (.concrete) .img.

По умолчанию .concrete имеет display: block в CSS, а другие .img имеют display: none;

HTML:

<p class="slider-link concrete active"><?php the_field("product1"); ?></p>
<p class="slider-link light"><?php the_field("product2"); ?></p>

<div class="img concrete" style="background-image: url(<?php the_field('concrete_img'); ?>)">
    <div class="content">
        ...
    </div>
</div>
<div class="img light" style="background-image: url(<?php the_field('light_img'); ?>)">
    <div class="content">
        ...
    </div>
</div>

jQuery:

$('.slider-link').click(function() {
    $('.slider-link').removeClass('active');
    $(this).addClass('active');
    if ($(this).hasClass('concrete')) {
        $('.img').hide();
        $('.img.concrete').show();
    } else if ($(this).hasClass('light')) {
        $('.img').hide();
        $('.img.light').show(); 
    });

1 Ответ

0 голосов
/ 15 октября 2018

Мой плохой!Поля изображения ACF возвращают объекты изображения (по умолчанию), но первый, который я сделал до того, как изменил его, возвращает «URL-адрес изображения», чтобы он работал со встроенным стилем фонового изображения.А поскольку у них был ложный синтаксис, он просто переписывал плохие строки при проверке с помощью DevTools.

...