If i use **6 slides **and slidesPerView: 3, its working fine but If 5 slides and slidesPerView: 3 then its not looping its stop after last slide
var swiper = new Swiper('.swiper-container', {
direction: 'vertical',
slidesPerView: 3,
spaceBetween: 30,
mousewheel: true,
grabCursor: true,
loop: true,
autoplay: {
delay: 500,
disableOnInteraction: false,
}
});
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;
}
.swiper-container {
width: 100%;
height: 100%;
}
.swiper-slide {
text-align: center;
font-size: 18px;
background: #fff;
/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href=".min.css">
<script src=".min.js"></script>
<title></title>
</head>
<body>
<!-- Swiper -->
<div class="swiper-container">
<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 class="swiper-slide">Slide 4</div>
<div class="swiper-slide">Slide 5</div>
</div>
</div>
</body>
</html>
If i use **6 slides **and slidesPerView: 3, its working fine but If 5 slides and slidesPerView: 3 then its not looping its stop after last slide
var swiper = new Swiper('.swiper-container', {
direction: 'vertical',
slidesPerView: 3,
spaceBetween: 30,
mousewheel: true,
grabCursor: true,
loop: true,
autoplay: {
delay: 500,
disableOnInteraction: false,
}
});
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;
}
.swiper-container {
width: 100%;
height: 100%;
}
.swiper-slide {
text-align: center;
font-size: 18px;
background: #fff;
/* Center slide text vertically */
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="https://unpkg./swiper/swiper-bundle.min.css">
<script src="https://unpkg./swiper/swiper-bundle.min.js"></script>
<title></title>
</head>
<body>
<!-- Swiper -->
<div class="swiper-container">
<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 class="swiper-slide">Slide 4</div>
<div class="swiper-slide">Slide 5</div>
</div>
</div>
</body>
</html>
Share
Improve this question
asked Oct 13, 2023 at 13:22
AmanAman
1,5501 gold badge10 silver badges16 bronze badges
2 Answers
Reset to default 3The documentation clearly states: Due to the way loop mode works (it will rearrange the slides), the total number of slides must be >= slidesPerView * 2.
So you have to set the required number of slides, which is very annoying...
But you can use an older version of swiper https://unpkg./[email protected]/swiper-bundle.min.js where the loop mechanism works differently.
In Swiper version >=9.4.1 (behaves differently in older versions) you need to set both loop and cssMode properties to true.
https://unpkg./[email protected]/swiper-bundle.min.js
...
loop:true,
cssMode:true,
...
More info: https://swiperjs./swiper-api#param-loop
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744330819a4568877.html
评论列表(0条)