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

如何强制Swiper.js在移动端视口下仅显示单个轮播滑块

问题原因

你当前的初始化配置层级错误:slidesPerView是Swiper的顶层全局配置项,不属于autoplay的子配置项,所以你写在autoplay内的slidesPerView: 1没有生效,才会出现移动端同时展示多个滑块的问题。

修复方案

方案1:全设备固定单滑块

如果所有设备都只需要展示1个滑块,直接把slidesPerView提到顶层配置即可:

var swiper = new Swiper(".swiper-container", {
  slidesPerView: 1, // 全局配置单滑块展示
  autoplay: {
    disableOnInteraction: false,
  },
});

方案2:响应式适配(移动端单滑块,其他设备可自定义数量)

如果需要不同视口宽度下展示不同数量的滑块,可以使用Swiper自带的断点配置实现自适应:

var swiper = new Swiper(".swiper-container", {
  slidesPerView: 1, // 默认移动端配置:强制单滑块
  autoplay: {
    disableOnInteraction: false,
  },
  breakpoints: {
    // 视口宽度≥768px时的配置,断点数值可根据需求自行调整
    768: {
      slidesPerView: 2, // 示例:平板端展示2个滑块
    },
    // 视口宽度≥1200px时的配置
    1200: {
      slidesPerView: 3, // 示例:桌面端展示3个滑块
    }
  }
});

异常排查

如果修改配置后问题仍未解决,请检查两项内容:

  • 确认没有自定义CSS强制设置了.swiper-slide的固定宽度,导致Swiper的宽度计算逻辑被覆盖
  • 确认你使用的Swiper版本为官方发布的稳定版本,未被二次修改过核心逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:54:03