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);
});
});