Bootstrap 5.2.3中data-bs-interval="false"失效原因咨询
Bootstrap 5.2.3中
data-bs-interval="false"失效的原因 核心原因在于你给轮播容器设置了data-bs-ride="carousel"属性。在Bootstrap 5的新版本里,这个属性的优先级高于data-bs-interval——当启用data-bs-ride="carousel"时,轮播会在页面加载时自动初始化并强制开启自动播放,此时你设置的data-bs-interval="false"会被直接覆盖,自然无法生效。
解决方法
方法1:移除data-bs-ride="carousel"属性
去掉这个属性后,轮播不会自动启动,data-bs-interval="false"的设置就能正常生效,阻止自动播放。修正后的代码如下:
CSS代码
#carouselExampleControls { background: gray; }
HTML代码
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous"> <div id="carouselExampleControls" data-bs-interval="false" class="carousel slide"> <div class="carousel-inner"> <div class="carousel-item active"> 111 </div> <div class="carousel-item"> 222 </div> <div class="carousel-item"> 333 </div> </div> <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="prev"> <span class="carousel-control-prev-icon" aria-hidden="true"></span> <span class="visually-hidden">Previous</span> </button> <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="next"> <span class="carousel-control-next-icon" aria-hidden="true"></span> <span class="visually-hidden">Next</span> </button> </div> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
方法2:保留data-bs-ride,用JS手动配置
如果必须保留data-bs-ride="carousel",可以通过JavaScript初始化轮播时显式设置interval: false,覆盖默认行为:
const carouselElement = document.getElementById('carouselExampleControls'); const carousel = new bootstrap.Carousel(carouselElement, { interval: false });
内容的提问来源于stack exchange,提问作者user31782
相关产品推荐
相关产品推荐

