Skip to content

Commit 1d881a1

Browse files
authored
Merge pull request #1858 from akiran/white-space-infinite
Fix an issue: showing less slides than slidesToShow in infinite mode
2 parents d17c1f1 + 7fe4f6f commit 1d881a1

File tree

4 files changed

+14
-5
lines changed

4 files changed

+14
-5
lines changed

examples/__tests__/UnevenSets.test.js

+4
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ describe("UnevenSets Finite", () => {
4949
activeSlides = slider.find("div.slick-active");
5050
expect(currentSlide.props()["data-index"]).toEqual(4);
5151
expect(activeSlides.map(slide => slide.props()["data-index"])).toEqual([
52+
2,
53+
3,
5254
4,
5355
5
5456
]);
@@ -59,6 +61,8 @@ describe("UnevenSets Finite", () => {
5961
activeSlides = slider.find("div.slick-active");
6062
expect(currentSlide.props()["data-index"]).toEqual(4);
6163
expect(activeSlides.map(slide => slide.props()["data-index"])).toEqual([
64+
2,
65+
3,
6266
4,
6367
5
6468
]);

examples/__tests__/__snapshots__/MultipleItems.test.js.snap

+1-1
Original file line numberDiff line numberDiff line change
@@ -989,7 +989,7 @@ exports[`Multiple Items should show slides first 3 slides when middle dot is cli
989989
<h2> Multiple items </h2>
990990
<div class=\\"slick-slider slick-initialized\\" dir=\\"ltr\\"><button type=\\"button\\" data-role=\\"none\\" class=\\"slick-arrow slick-prev\\" style=\\"display: block;\\"> Previous</button>
991991
<div class=\\"slick-list\\">
992-
<div class=\\"slick-track\\" style=\\"opacity: 1; transform: translate3d(0px, 0px, 0px);\\">
992+
<div class=\\"slick-track\\" style=\\"opacity: 1; transform: translate3d(0px, 0px, 0px); transition: transform 500ms ease;\\">
993993
<div data-index=\\"-3\\" tabindex=\\"-1\\" class=\\"slick-slide slick-cloned\\" aria-hidden=\\"true\\" style=\\"width: 0px;\\">
994994
<div>
995995
<div tabindex=\\"-1\\" style=\\"width: 100%; display: inline-block;\\">

examples/__tests__/__snapshots__/UnevenSets.test.js.snap

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ exports[`UnevenSets Finite Activity test 1`] = `
2020
</div>
2121
</div>
2222
</div>
23-
<div data-index=\\"2\\" class=\\"slick-slide\\" tabindex=\\"-1\\" aria-hidden=\\"true\\" style=\\"outline: none; width: 0px;\\">
23+
<div data-index=\\"2\\" class=\\"slick-slide slick-active\\" tabindex=\\"-1\\" aria-hidden=\\"false\\" style=\\"outline: none; width: 0px;\\">
2424
<div>
2525
<div tabindex=\\"-1\\" style=\\"width: 100%; display: inline-block;\\">
2626
<h3>3</h3>
2727
</div>
2828
</div>
2929
</div>
30-
<div data-index=\\"3\\" class=\\"slick-slide\\" tabindex=\\"-1\\" aria-hidden=\\"true\\" style=\\"outline: none; width: 0px;\\">
30+
<div data-index=\\"3\\" class=\\"slick-slide slick-active\\" tabindex=\\"-1\\" aria-hidden=\\"false\\" style=\\"outline: none; width: 0px;\\">
3131
<div>
3232
<div tabindex=\\"-1\\" style=\\"width: 100%; display: inline-block;\\">
3333
<h3>4</h3>
@@ -51,8 +51,8 @@ exports[`UnevenSets Finite Activity test 1`] = `
5151
</div>
5252
</div><button type=\\"button\\" data-role=\\"none\\" class=\\"slick-arrow slick-next slick-disabled\\" style=\\"display: block;\\"> Next</button>
5353
<ul style=\\"display: block;\\" class=\\"slick-dots\\">
54-
<li class=\\"\\"><button>1</button></li>
55-
<li class=\\"slick-active\\"><button>2</button></li>
54+
<li class=\\"slick-active\\"><button>1</button></li>
55+
<li class=\\"\\"><button>2</button></li>
5656
</ul>
5757
</div>
5858
</div>"

src/utils/innerSliderUtils.js

+5
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,11 @@ export const slideHandler = spec => {
210210
if (!infinite) finalSlide = slideCount - slidesToShow;
211211
else if (slideCount % slidesToScroll !== 0) finalSlide = 0;
212212
}
213+
214+
if (!infinite && animationSlide + slidesToShow >= slideCount) {
215+
finalSlide = slideCount - slidesToShow;
216+
}
217+
213218
animationLeft = getTrackLeft({ ...spec, slideIndex: animationSlide });
214219
finalLeft = getTrackLeft({ ...spec, slideIndex: finalSlide });
215220
if (!infinite) {

0 commit comments

Comments
 (0)