loopDestroy.js 711 B

12345678910111213141516171819202122
  1. export default function loopDestroy() {
  2. const swiper = this;
  3. const {
  4. params,
  5. slidesEl
  6. } = swiper;
  7. if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;
  8. swiper.recalcSlides();
  9. const newSlidesOrder = [];
  10. swiper.slides.forEach(slideEl => {
  11. const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;
  12. newSlidesOrder[index] = slideEl;
  13. });
  14. swiper.slides.forEach(slideEl => {
  15. slideEl.removeAttribute('data-swiper-slide-index');
  16. });
  17. newSlidesOrder.forEach(slideEl => {
  18. slidesEl.append(slideEl);
  19. });
  20. swiper.recalcSlides();
  21. swiper.slideTo(swiper.realIndex, 0);
  22. }