swiper
Version:
Most modern mobile touch slider and framework with hardware accelerated transitions
18 lines • 722 B
JavaScript
import { elementIndex } from '../../shared/utils.js';
export default function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {
if (typeof index === 'string') {
const indexAsNumber = parseInt(index, 10);
index = indexAsNumber;
}
const swiper = this;
let newIndex = index;
if (swiper.params.loop) {
if (swiper.virtual && swiper.params.virtual.enabled) {
// eslint-disable-next-line
newIndex = newIndex + swiper.virtual.slidesBefore;
} else {
newIndex = elementIndex(swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === newIndex)[0]);
}
}
return swiper.slideTo(newIndex, speed, runCallbacks, internal);
}