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

垂直方向Swiper开启自动播放与自动高度时出现异常跳变问题求助

垂直方向Swiper开启自动播放与自动高度时出现异常跳变问题求助

各位大佬好!我最近想用Swiper做一个垂直方向的跑马灯轮播效果,结果碰到了个头疼的问题:自动播放的时候会出现异常跳变,完全达不到想要的平滑效果,想请大家帮忙支支招~

先给大家看看我当前的Swiper配置:

{
    loop: true,
    speed: 5000,
    allowTouchMove: false,
    slidesPerView: "auto",
    spaceBetween: 10,
    autoHeight: true,
    direction: "vertical",
    autoplay: {
      delay: 0,
      disableOnInteraction: false,
    },
};

另外我还特意给swiper的wrapper设置了相关样式,本来是想让自动播放的动画更流畅,结果跳变的问题还是没解决。有没有大佬遇到过类似的情况呀?或者能帮我分析下问题出在哪,该怎么调整呢?


给你几个我自己摸索出来的可能可行的调整方向,你可以试试:

  • 先暂时关掉autoHeight,手动给Swiper容器设置一个固定高度。毕竟垂直方向下,loop循环模式加上自动高度,Swiper可能没办法实时精准计算每张slide的高度,切换时就容易出现跳变
  • 调整speed和autoplay.delay的数值比例,比如把speed调小一点,或者给delay设置一个非0的合理值,避免动画速度和延迟不匹配导致的视觉断层
  • 给swiper-wrapper添加will-change: transform这个CSS属性,让浏览器提前优化动画的渲染性能,说不定能减少跳变
  • 可以监听Swiper的slideChange事件,每次切换slide的时候手动调用swiper.update()方法强制更新高度,看看能不能解决高度计算的问题

备注:内容来源于stack exchange,提问作者Lucas M. Falbo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 17:24:29