UNPKG

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