UNPKG

infinity-forge

Version:
40 lines 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = slideToClosest; /* eslint no-unused-vars: "off" */ function slideToClosest(speed, runCallbacks, internal, threshold) { if (runCallbacks === void 0) { runCallbacks = true; } if (threshold === void 0) { threshold = 0.5; } var swiper = this; if (swiper.destroyed) return; if (typeof speed === 'undefined') { speed = swiper.params.speed; } var index = swiper.activeIndex; var skip = Math.min(swiper.params.slidesPerGroupSkip, index); var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup); var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate; if (translate >= swiper.snapGrid[snapIndex]) { // The current translate is on or after the current snap index, so the choice // is between the current index and the one after it. var currentSnap = swiper.snapGrid[snapIndex]; var nextSnap = swiper.snapGrid[snapIndex + 1]; if (translate - currentSnap > (nextSnap - currentSnap) * threshold) { index += swiper.params.slidesPerGroup; } } else { // The current translate is before the current snap index, so the choice // is between the current index and the one before it. var prevSnap = swiper.snapGrid[snapIndex - 1]; var currentSnap = swiper.snapGrid[snapIndex]; if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) { index -= swiper.params.slidesPerGroup; } } index = Math.max(index, 0); index = Math.min(index, swiper.slidesGrid.length - 1); return swiper.slideTo(index, speed, runCallbacks, internal); } //# sourceMappingURL=slideToClosest.js.map