UNPKG

swiper

Version:

Most modern mobile touch slider and framework with hardware accelerated transitions

67 lines (53 loc) 1.63 kB
"use strict"; exports.__esModule = true; exports.default = addSlide; function addSlide(index, slides) { var swiper = this; var $wrapperEl = swiper.$wrapperEl, params = swiper.params, activeIndex = swiper.activeIndex; var activeIndexBuffer = activeIndex; if (params.loop) { activeIndexBuffer -= swiper.loopedSlides; swiper.loopDestroy(); swiper.slides = $wrapperEl.children("." + params.slideClass); } var baseLength = swiper.slides.length; if (index <= 0) { swiper.prependSlide(slides); return; } if (index >= baseLength) { swiper.appendSlide(slides); return; } var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer; var slidesBuffer = []; for (var i = baseLength - 1; i >= index; i -= 1) { var currentSlide = swiper.slides.eq(i); currentSlide.remove(); slidesBuffer.unshift(currentSlide); } if (typeof slides === 'object' && 'length' in slides) { for (var _i = 0; _i < slides.length; _i += 1) { if (slides[_i]) $wrapperEl.append(slides[_i]); } newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer; } else { $wrapperEl.append(slides); } for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) { $wrapperEl.append(slidesBuffer[_i2]); } if (params.loop) { swiper.loopCreate(); } if (!(params.observer && swiper.support.observer)) { swiper.update(); } if (params.loop) { swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false); } else { swiper.slideTo(newActiveIndex, 0, false); } }