Skip to content

Commit bcb5d4d

Browse files
authored
Merge pull request #3403 from turnercode/master
Fixed centering logic when using swipe
2 parents 9325b64 + 5910693 commit bcb5d4d

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

slick/slick.js

+15-3
Original file line numberDiff line numberDiff line change
@@ -1238,13 +1238,25 @@
12381238
Slick.prototype.getSlideCount = function() {
12391239

12401240
var _ = this,
1241-
slidesTraversed, swipedSlide, centerOffset;
1241+
slidesTraversed, swipedSlide, swipeTarget, centerOffset;
12421242

1243-
centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;
1243+
centerOffset = _.options.centerMode === true ? Math.floor(_.$list.width() / 2) : 0;
1244+
swipeTarget = (_.swipeLeft * -1) + centerOffset;
12441245

12451246
if (_.options.swipeToSlide === true) {
1247+
12461248
_.$slideTrack.find('.slick-slide').each(function(index, slide) {
1247-
if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {
1249+
1250+
var slideOuterWidth, slideOffset, slideRightBoundary;
1251+
slideOuterWidth = $(slide).outerWidth();
1252+
slideOffset = slide.offsetLeft;
1253+
if (_.options.centerMode !== true) {
1254+
slideOffset += (slideOuterWidth / 2);
1255+
}
1256+
1257+
slideRightBoundary = slideOffset + (slideOuterWidth);
1258+
1259+
if (swipeTarget < slideRightBoundary) {
12481260
swipedSlide = slide;
12491261
return false;
12501262
}

0 commit comments

Comments
 (0)