Как в Swiper слайдере картинку подгружать как фоновое изображение?

Не могу разобрать как подгрузить картинку как фоновое изображение.
На сайте слайдера есть пример Lazy Loading Images, но там загрузка идет именно как картинка, а мне нужно загрузить как background.

Пример на сайте выглядит так (работает для картинки):
<div class="swiper-slide">
     <img data-src="http://lorempixel.com/1600/1200/nature/3/" class="swiper-lazy">
     <div class="swiper-lazy-preloader swiper-lazy-preloader-white"></div>
</div>


В документации на сайте сказано, что если нужно подгрузить картинку как background, то писать:
<!-- Element with lazy background image -->
<div class="swiper-slide">
     <div data-background="path/to/picture-2.jpg" class="swiper-lazy">
          <div class="swiper-lazy-preloader"></div>
     </div>
</div>


но когда я так пишу, то у меня слайдер не работает, вот пример:
https://codepen.io/workcode/pen/GwMQvj
  • Вопрос задан
  • 5208 просмотров
Решения вопроса 1
Chefranov
@Chefranov
Новичок
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8">
  <title>Swiper demo</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.2.2/css/swiper.min.css">

</head>

<body>
  <!-- Swiper -->
  <div class="swiper-container">
    <div class="swiper-wrapper">

      <div class="swiper-slide">
        <div data-background="https://www.w3schools.com/w3css/img_lights.jpg" class="swiper-lazy slider_image">
          <div class="swiper-lazy-preloader"></div>
        </div>
      </div>

      <div class="swiper-slide">
        <div data-background="https://www.w3schools.com/w3css/img_lights.jpg" class="swiper-lazy slider_image">
          <div class="swiper-lazy-preloader"></div>
        </div>
      </div>

    </div>
    <!-- Add Pagination -->
    <div class="swiper-pagination swiper-pagination-white"></div>
    <!-- Navigation -->
    <div class="swiper-button-next swiper-button-white"></div>
    <div class="swiper-button-prev swiper-button-white"></div>
  </div>

  <!-- Swiper JS -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.4.2/js/swiper.min.js"></script>

  <!-- Initialize Swiper -->
  <script>
    var swiper = new Swiper('.swiper-container', {
      // Enable lazy loading
      lazy: true,
      pagination: {
        el: '.swiper-pagination',
        clickable: true,
      },
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
    });
  </script>
</body>

</html>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы