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

Owl Carousel 2启用dots:true后不显示及多余圆点问题求助

我帮你梳理下这个问题的根源和解决办法,亲测有效:

核心问题分析

  1. 默认dots不显示的原因:你已经在JS配置里开启了dots:true,但Owl Carousel 2的圆点依赖它的主题CSS文件(owl.theme.default.min.css)来生成DOM结构和基础样式。如果没引入这个文件,即使配置正确,圆点也不会显示。
  2. 手动加owl-dots导致多余圆点:当dots:true时,Owl会自动在轮播容器内生成一个带owl-dots类的容器,你手动添加这个类会造成重复容器,自然出现多余的圆点。

分步解决方案

1. 确保引入完整的Owl Carousel资源

你需要在页面里按顺序引入三个核心文件:

  • jQuery库(Owl依赖jQuery运行)
  • Owl Carousel核心CSS(owl.carousel.min.css)
  • Owl Carousel主题CSS(owl.theme.default.min.css)

2. 移除手动添加的owl-dots类

你的轮播容器只需要保留owl-carousel owl-theme即可,不需要额外添加owl-dots类:

<div id="testimonial-slides" class="owl-carousel owl-theme">
  <!-- 轮播项内容 -->
</div>

3. 调整自定义CSS的加载顺序(可选)

你的自定义样式逻辑没问题,但要确保它在Owl的主题CSS之后引入,这样自定义的圆点样式才能覆盖默认样式:

/* 放在Owl主题CSS之后引入 */
.owl-dots {
  text-align: center;
  position: fixed;
  bottom: 5px;
  width: 100%;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
}
.owl-dot {
  border-radius: 50px;
  height: 10px;
  width: 10px;
  display: inline-block;
  background: rgba(127,127,127, 0.5);
  margin-left: 5px;
  margin-right: 5px;
}
.owl-dot.active {
  background: rgba(127,127,127, 1);
}

4. 验证JS配置(你的现有配置没问题)

确保JS代码在jQuery和Owl Carousel JS之后加载,你的现有配置逻辑是正确的:

(function ($) {
  $(document).ready(function() {
    $("#testimonial-slides").owlCarousel({
      items :4,
      margin: 10,
      loop: true,
      autoplay: true,
      smartSpeed: 1000,
      dots: true,
      center:true,
      responsive:{
        0:{
          items:1
        },
        600:{
          items:3
        }
      }
    });
  });
}(jQuery));

额外排查点

  • 打开浏览器控制台(F12),检查有没有JS报错,比如jQuery或Owl文件加载失败
  • 确认轮播项数量:如果只有1个轮播项,Owl默认不会显示dots(因为无需切换),你有3个项,这部分没问题

这样调整后,圆点应该能正常显示,且不会有多余的啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:32:51