我正在尝试通过 data-bs-target 触发多个轮播 slider 。我尝试使用类名而不是 ID,但它只触发一个。
<link href="https://cdn.jsdelivr.net/npm/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bcded3d3c8cfc8ceddccfc89928c928c91ded9c8dd8d" rel="noreferrer noopener nofollow">[email protected]</a>/dist/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/npm/<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b2d0ddddc6c1c6c0d3c2f2879c829c829fd0d7c6d383" rel="noreferrer noopener nofollow">[email protected]</a>/dist/js/bootstrap.bundle.min.js"></script>
<div class="row">
<div class="col-6">
<div id="carouselA" class="carousel slide carouselBoth" data-bs-ride="carousel">
<ol class="carousel-indicators">
<li data-bs-target=".carouselBoth" data-bs-slide-to="0" class="active"></li>
<li data-bs-target=".carouselBoth" data-bs-slide-to="1"></li>
<li data-bs-target=".carouselBoth" data-bs-slide-to="2"></li>
</ol>
<div class="carousel-inner">
<div class="carousel-item active">
<img src="https://via.placeholder.com/300x150/1" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="https://via.placeholder.com/300x150/2" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="https://via.placeholder.com/300x150/3" class="d-block w-100" alt="...">
</div>
</div>
</div>
</div>
<div class="col-6">
<div id="carouselB" class="carousel slide carouselBoth" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img src="https://via.placeholder.com/300x150/1" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="https://via.placeholder.com/300x150/2" class="d-block w-100" alt="...">
</div>
<div class="carousel-item">
<img src="https://via.placeholder.com/300x150/3" class="d-block w-100" alt="...">
</div>
</div>
</div>
</div>
</div>
我猜测 data-bs-target=".carouselBoth"
会起作用,但看起来我错了或者我错过了一些东西
最佳答案
根据 Bootstrap 5 beta 文档...
"Control and indicator elements must have a data-bs-target attribute (or href for links) that matches the id of the .carousel element."
所以我认为只有 Collapse 组件支持 multiple targets 。但是,您可以使用 javascript Hook 第一个轮播的 slide.bs.carousel
事件来触发第二个轮播上的幻灯片...
var carouselA = document.getElementById('carouselA')
var carouselB = document.getElementById('carouselB')
carouselA.addEventListener('slide.bs.carousel', function(e) {
var bsCarouselB = bootstrap.Carousel.getInstance(carouselB)
bsCarouselB.to(e.to)
})
关于javascript - Bootstrap 5 多个轮播的轮播指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65516047/