You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

单页多Swiper.js带缩略图导航滑块仅首个生效的解决需求

单页多Swiper缩略图滑块失效问题解决需求

单页中使用多个带缩略图导航的Swiper.js滑块时,仅首个滑块可正常工作。参考过官网的缩略图画廊循环示例,也找到过无缩略图导航的多滑块实现方案,但带缩略图导航的实现存在困难,当前调试的代码效果不佳,希望找到无需重复添加类或复制大量JavaScript代码的通用解决方案。

单页单滑块时可正常运行的初始代码

var swiper = new Swiper(".mySwiper", {
  loop: false,
  spaceBetween: 10,
  slidesPerView: document.getElementsByClassName('swiper-slide').length / 2,
  freeMode: true,
  watchSlidesProgress: true,
});
var swiper2 = new Swiper(".mySwiper2", {
  loop: false,
  spaceBetween: 10,
  navigation: {
    nextEl: ".swiper-button-next",
    prevEl: ".swiper-button-prev",
  },
  thumbs: {
    swiper: swiper,
  },
});

无缩略图导航的单页多滑块实现代码

// 声明Swiper相关类
const myCustomSlider = document.querySelectorAll('.swiper-container');

// 声明导航箭头类
const mySliderPrev = document.querySelectorAll('.swiper-button-prev');
const mySliderNext = document.querySelectorAll('.swiper-button-next');

for( i=0; i < myCustomSlider.length; i++ ) {
// 为每个Swiper滑块及导航箭头添加带序号的专属类
  myCustomSlider[i].classList.add('swiper-container-' + i);
  mySliderPrev[i].classList.add('swiper-button-prev-' + i);
  mySliderNext[i].classList.add('swiper-button-next-' + i);
  
  var slider = new Swiper ('.swiper-container', {
    effect: 'slide',
    
    pagination: {
      el: '.swiper-pagination',
    },
    
    navigation: {
      nextEl: '.swiper-button-next',
      prevEl: '.swiper-button-prev',
    },

    scrollbar: {
      el: '.swiper-scrollbar',
    },
  });
}

当前正在调试的带缩略图导航的多滑块代码

// 声明Swiper主滑块类
const myCustomSlider = document.querySelectorAll('.mySwiper2');

// 声明导航箭头类
const mySliderPrev = document.querySelectorAll('.swiper-button-prev');
const mySliderNext = document.querySelectorAll('.swiper-button-next');

for( i=0; i < myCustomSlider.length; i++ ) {
// 为每个主滑块及导航箭头添加带序号的专属类
  myCustomSlider[i].classList.add('mySwiper2-' + i);
  mySliderPrev[i].classList.add('swiper-button-prev-' + i);
  mySliderNext[i].classList.add('swiper-button-next-' + i);
  
  var swiper2 = new Swiper(".mySwiper2", {
    loop: false,
    spaceBetween: 10,
    navigation: {
      nextEl: ".swiper-button-next",
      prevEl: ".swiper-button-prev",
    },
    thumbs: {
      swiper: swiper,
    },
  });
}

// 声明Swiper缩略图滑块类
const myCustomSliderThumbs = document.querySelectorAll('.mySwiper');

for( i=0; i < myCustomSliderThumbs.length; i++ ) {
// 为每个缩略图滑块添加带序号的专属类
  myCustomSliderThumbs[i].classList.add('mySwiper-' + i);

  var swiper = new Swiper(".mySwiper", {
    loop: false,
    spaceBetween: 10,
    slidesPerView: document.getElementsByClassName('swiper-slide').length / 2,
    freeMode: true,
    watchSlidesProgress: true,
  });
}

内容的提问来源于stack exchange,提问作者Johannes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 15:10:34