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

SwiperJs添加fade效果后仍默认滚动的解决方法求助

问题:Swiper添加fade淡入淡出效果后仍默认以滚动方式切换

我使用SwiperJs搭建了一个简单的轮播组件,添加fade淡入淡出效果后,轮播仍默认以滚动方式切换。项目基于Laravel Blade、Vite构建,使用的Swiper版本为9.4.1,尝试切换至10.0.4版本后问题仍未解决。相关代码如下:

import Swiper from "swiper";

const options = {
  slidesPerView: 1,
  effect: "fade",
  spaceBetween: 16,
  speed: 300,
  loop: true,
  allowTouchMove: false,
};

const slider_1 = new Swiper("#best-sellers-slider-1", options);
const slider_2 = new Swiper("#best-sellers-slider-2", options);
const slider_3 = new Swiper("#best-sellers-slider-3", options);

const nextButton = document.querySelector("#best-seller-next");
const prevButton = document.querySelector("#best-seller-prev");

nextButton.addEventListener("click", () => {
  slider_1.slideNext();
  slider_2.slideNext();
  slider_3.slideNext();
});

prevButton.addEventListener("click", () => {
  slider_1.slidePrev();
  slider_2.slidePrev();
  slider_3.slidePrev();
});

解决方法

Swiper 8及以上版本中,fade这类特殊切换效果属于独立模块,需要单独导入并注册,仅导入基础Swiper不会自动加载这些效果模块。

步骤1:导入Fade效果模块及对应样式

// Swiper 9.x版本
import Swiper from "swiper";
import { Fade } from "swiper/modules";
import "swiper/css";
import "swiper/css/fade";

// 如果是Swiper 10.x版本,CSS导入路径一致,直接沿用即可

步骤2:在配置中注册Fade模块

在options对象中添加modules字段,注册导入的Fade模块:

const options = {
  slidesPerView: 1,
  effect: "fade",
  spaceBetween: 16,
  speed: 300,
  loop: true,
  allowTouchMove: false,
  modules: [Fade] // 新增该行,注册Fade效果模块
};

修改后重新构建项目,fade淡入淡出效果即可正常生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 15:06:25