1 | export default function updateSlidesClasses() {
|
2 | const swiper = this;
|
3 | const {
|
4 | slides,
|
5 | params,
|
6 | $wrapperEl,
|
7 | activeIndex,
|
8 | realIndex
|
9 | } = swiper;
|
10 | const isVirtual = swiper.virtual && params.virtual.enabled;
|
11 | slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);
|
12 | let activeSlide;
|
13 |
|
14 | if (isVirtual) {
|
15 | activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`);
|
16 | } else {
|
17 | activeSlide = slides.eq(activeIndex);
|
18 | }
|
19 |
|
20 |
|
21 | activeSlide.addClass(params.slideActiveClass);
|
22 |
|
23 | if (params.loop) {
|
24 |
|
25 | if (activeSlide.hasClass(params.slideDuplicateClass)) {
|
26 | $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass);
|
27 | } else {
|
28 | $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass);
|
29 | }
|
30 | }
|
31 |
|
32 |
|
33 | let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);
|
34 |
|
35 | if (params.loop && nextSlide.length === 0) {
|
36 | nextSlide = slides.eq(0);
|
37 | nextSlide.addClass(params.slideNextClass);
|
38 | }
|
39 |
|
40 |
|
41 | let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);
|
42 |
|
43 | if (params.loop && prevSlide.length === 0) {
|
44 | prevSlide = slides.eq(-1);
|
45 | prevSlide.addClass(params.slidePrevClass);
|
46 | }
|
47 |
|
48 | if (params.loop) {
|
49 |
|
50 | if (nextSlide.hasClass(params.slideDuplicateClass)) {
|
51 | $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass);
|
52 | } else {
|
53 | $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass);
|
54 | }
|
55 |
|
56 | if (prevSlide.hasClass(params.slideDuplicateClass)) {
|
57 | $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass);
|
58 | } else {
|
59 | $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass);
|
60 | }
|
61 | }
|
62 |
|
63 | swiper.emitSlidesClasses();
|
64 | } |
\ | No newline at end of file |