javascript - 滑动 slider - 拇指画廊与 SlideToClickedSlide 无法正常工作

标签 javascript swiper.js

用于拇指库的新 Swiper API(v 4.4.1)工作出色,除了一个小功能 - slipToClickedSlide。我希望当我到达拇指视口(viewport)中的最后一张幻灯片时,图库将滑动到下一张幻灯片。

 var galleryThumbs = new Swiper('.gallery-thumbs', {
      spaceBetween: 10,
      slidesPerView: 4,
      watchSlidesVisibility: true,
      watchSlidesProgress: true,
      centerInsufficientSlides: true,
      slideToClickedSlide: true
 });
 var galleryTop = new Swiper('.gallery-top', {
      spaceBetween: 10,
      navigation: {
        nextEl: '.swiper-button-next',
        prevEl: '.swiper-button-prev',
      },
      thumbs: {
        swiper: galleryThumbs
      }
 });

有人可以帮助我吗? 链接至Fiddle

最佳答案

使用纯 JavaScript:

https://jsfiddle.net/sa7qwz25/171/

var galleryTop = new Swiper('.gallery-top', {
  ...
   on: {
    slideChange: function () {
      let activeIndex = this.activeIndex + 1;

      let activeSlide = document.querySelector(`.gallery-thumbs .swiper-slide:nth-child(${activeIndex})`);
      let nextSlide = document.querySelector(`.gallery-thumbs .swiper-slide:nth-child(${activeIndex + 1})`);
      let prevSlide = document.querySelector(`.gallery-thumbs .swiper-slide:nth-child(${activeIndex - 1})`);

      if (nextSlide && !nextSlide.classList.contains('swiper-slide-visible')) {
          this.thumbs.swiper.slideNext()    
      } else if (prevSlide && !prevSlide.classList.contains('swiper-slide-visible')) {
          this.thumbs.swiper.slidePrev()    
      }    
    }
  }
});

关于javascript - 滑动 slider - 拇指画廊与 SlideToClickedSlide 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52393299/

相关文章:

javascript - 从带有错误值签名的回调中创建 promise

javascript - 对象变量中的事件

javascript - 如何阅读 DIV 的 Top Margin

javascript - swiperjs - 如何保持上一个和下一个 slider 可见但不居中当前 slider

angular - 如何检测 Swiper 中幻灯片的点击?

ionic-framework - (Ionic 2) 滑动幻灯片时保持幻灯片自动播放

javascript - <a href> 而不是 &lt;input submit> 按钮

javascript - 在固定定位的 div 上隐藏/显示 Jquery 的问题

javascript - Swiper spaceBetween 无法正常工作

javascript - 如何给Swiper添加自定义幻灯片过渡效果?