JSFiddle - React, Tailwind, and code Playground

by l2banners

HTML

<script src="https://unpkg.com/swiper@7/swiper-bundle.min.js"></script>
<link rel="stylesheet" href="https://unpkg.com/swiper@7/swiper-bundle.min.css">
<button class="filter__show">Перестроить слайдеры на 100%</button>

<div class="wrap">
  <div class="container">
    <!-- Slider main container -->
    <div class="swiper-container">
      <!-- Additional required wrapper -->
      <div class="swiper-wrapper">
        <div class="swiper-slide">
          <img src="https://klike.net/uploads/posts/2019-01/1547365376_1.jpg" alt="">
        </div>
        <div class="swiper-slide"><img src="https://ktonanovenkogo.ru/image/priroda-gora.jpg" alt=""></div>
        <div class="swiper-slide"><img src="https://www.vseznaika.org/wp-content/uploads/2016/03/pic-00892.jpg" alt=""></div>
      </div>

      <!-- If we need navigation buttons -->
      <div class="swiper-button-prev"></div>
      <div class="swiper-button-next"></div>
    </div>
  </div>

  <div class="container">
    <!-- Slider main container -->
    <div class="swiper-container">
      <!-- Additional required wrapper -->
      <div class="swiper-wrapper">
        <div class="swiper-slide">Slide 1</div>
        <div class="swiper-slide">Slide 2</div>
        <div class="swiper-slide">Slide 3</div>
      </div>

      <!-- If we need navigation buttons -->
      <div class="swiper-button-prev"></div>
      <div class="swiper-button-next"></div>
    </div>
  </div>
</div>

CSS

html, body {
        position: relative;
        height: 100%;
    }
    body {
        background: #eee;
        font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
        font-size: 14px;
        color:#000;
        margin: 0;
        padding: 0;
    }
    .container{
      max-width: 1280px;
      margin: 0 auto;
      height: 100%;
      overflow: hidden;
    }
    .swiper-container {
        width: 100%;
        height: 100%;
    }
    .swiper-slide {
        text-align: center;
        font-size: 18px;
        background: #fff;
        display: -webkit-flex;
        display: flex;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center;
    }
    
    .wrap {
      display: flex;
      flex-wrap: wrap;
      margin-top: 20px;
    }
    
    .container {
      width: 50%;
      margin-bottom: 25px;
    }
    
    .conversion .container {
      width: 100%;
    }
    
    img {
      display: block;
      max-width: 100%;
      width: 100%;
    }

JavaScript

$(document).ready(function () {
	let swiper = new Swiper(".swiper-container", {
		loop: true,
		navigation: {
      nextEl: ".swiper-button-next",
      prevEl: ".swiper-button-prev",
    },
		slidesPerView: 1,
		paginationClickable: true,
	});

	$(".filter__show").on("click", function () {
		$(".wrap").toggleClass("conversion");
		setTimeout(function () {
			swiper.forEach((element) => {
				element.update()
			});
		}, 300);
	});
});