UNPKG

1.28 kBJavaScriptView Raw
1export default function removeSlide(slidesIndexes) {
2 const swiper = this;
3 const {
4 params,
5 $wrapperEl,
6 activeIndex
7 } = swiper;
8 let activeIndexBuffer = activeIndex;
9
10 if (params.loop) {
11 activeIndexBuffer -= swiper.loopedSlides;
12 swiper.loopDestroy();
13 swiper.slides = $wrapperEl.children(`.${params.slideClass}`);
14 }
15
16 let newActiveIndex = activeIndexBuffer;
17 let indexToRemove;
18
19 if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
20 for (let i = 0; i < slidesIndexes.length; i += 1) {
21 indexToRemove = slidesIndexes[i];
22 if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
23 if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
24 }
25
26 newActiveIndex = Math.max(newActiveIndex, 0);
27 } else {
28 indexToRemove = slidesIndexes;
29 if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
30 if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
31 newActiveIndex = Math.max(newActiveIndex, 0);
32 }
33
34 if (params.loop) {
35 swiper.loopCreate();
36 }
37
38 if (!params.observer) {
39 swiper.update();
40 }
41
42 if (params.loop) {
43 swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
44 } else {
45 swiper.slideTo(newActiveIndex, 0, false);
46 }
47}
\No newline at end of file