123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- export default function updateSlidesClasses() {
- const swiper = this;
- const {
- slides,
- params,
- $wrapperEl,
- activeIndex,
- realIndex
- } = swiper;
- if (!slides.length || !$wrapperEl) return;
- const isVirtual = swiper.virtual && params.virtual.enabled;
- for (var i = 0; i < slides.length; i++) {
- slides[i].removeClass(
- `${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`
- );
- }
- let activeSlide;
- if (isVirtual) {
- // activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`);
- activeSlide = slides[slides.findIndex((item) => {
- return item.dataSwiperSlideIndex == activeIndex
- })];
- } else {
- activeSlide = slides[activeIndex];
- } // Active classes
- if (!activeSlide) return
- activeSlide.addClass(params.slideActiveClass);
- if (params.loop) {
- if (activeSlide.hasClass(params.slideDuplicateClass)) {
- // $wrapperEl.children[realIndex].addClass(params.slideDuplicateActiveClass);
- let index = slides.findIndex((item) => {
- return !item.hasClass(params.slideDuplicateClass) && item.dataSwiperSlideIndex == realIndex
- })
- slides[index] && slides[index].addClass(params.slideDuplicateActiveClass);
- } else {
- // $wrapperEl.children[realIndex].addClass(params.slideDuplicateActiveClass);
- let index = slides.findIndex((item) => {
- return item.hasClass(params.slideDuplicateClass) && item.dataSwiperSlideIndex == realIndex
- })
- slides[index] && slides[index].addClass(params.slideDuplicateActiveClass);
- }
- } // Next Slide
- let nextSlide = activeSlide.nextAll(`.${params.slideClass}`)[0];
- if (nextSlide) {
- nextSlide.addClass(params.slideNextClass);
- } else {
- if (params.loop && !nextSlide) {
- nextSlide = slides[0];
- nextSlide.addClass(params.slideNextClass);
- } // Prev Slide
- }
- let prevSlide = activeSlide.prevAll(`.${params.slideClass}`)[0];
- if (prevSlide) {
- prevSlide.addClass(params.slidePrevClass);
- } else {
- if (params.loop && !prevSlide) {
- prevSlide = slides[slides.length - 1];
- prevSlide.addClass(params.slidePrevClass);
- }
- }
- if (params.loop) {
- // Duplicate to all looped slides
- if (nextSlide.hasClass(params.slideDuplicateClass)) {
- // $wrapperEl.children(
- // nextSlide.dataSwiperSlideIndex
- // ).addClass(params.slideDuplicateNextClass);
- let index = slides.findIndex((item) => {
- return !item.hasClass(params.slideDuplicateClass) && item.dataSwiperSlideIndex == nextSlide
- .dataSwiperSlideIndex
- })
- slides[index] && slides[index].addClass(params.slideDuplicateNextClass);
- } else {
- // $wrapperEl.children(
- // nextSlide.dataSwiperSlideIndex
- // ).addClass(params.slideDuplicateNextClass);
- let index = slides.findIndex((item) => {
- return item.hasClass(params.slideDuplicateClass) && item.dataSwiperSlideIndex == nextSlide
- .dataSwiperSlideIndex
- })
- slides[index] && slides[index].addClass(params.slideDuplicateNextClass);
- }
- if (prevSlide.hasClass(params.slideDuplicateClass)) {
- // $wrapperEl.children(
- // prevSlide.dataSwiperSlideIndex
- // ).addClass(params.slideDuplicatePrevClass);
- let index = slides.findIndex((item) => {
- return !item.hasClass(params.slideDuplicateClass) && item.dataSwiperSlideIndex == prevSlide
- .dataSwiperSlideIndex
- })
- slides[index] && slides[index].addClass(params.slideDuplicatePrevClass);
- } else {
- // $wrapperEl.children(
- // prevSlide.dataSwiperSlideIndex
- // ).addClass(params.slideDuplicatePrevClass);
- let index = slides.findIndex((item) => {
- return item.hasClass(params.slideDuplicateClass) && item.dataSwiperSlideIndex == prevSlide
- .dataSwiperSlideIndex
- })
- slides[index] && slides[index].addClass(params.slideDuplicatePrevClass);
- }
- }
- swiper.emitSlidesClasses();
- }
|