Я использую версию начальной загрузки 4.0.Я хочу скрыть левый элемент управления на первом элементе и скрыть правый элемент управления на последнем элементе.Я думаю, что с помощью jQuery это можно решить.
Левый элемент управления будет скрывать все время, пока он отображается только на последнем элементе.Правый элемент управления будет показывать все время, но будет скрываться в последнем элементе.
HTML:
<div id="carousel-1" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
Slide 1
</div>
<div class="carousel-item">
Slide 2
</div>
<div class="carousel-item">
Slide 3
</div>
</div>
<a class="carousel-control-prev" href="#carousel-1" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carousel-1" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
JQuery:
$('.carousel').carousel({
interval: false,
})
function checkitem()
{
var $this = $('#carousel-1');
if ($('.carousel-inner .carousel-item:first').hasClass('active')) {
$this.children('.carousel-control-prev').hide();
} else if ($('.carousel-inner .carousel-item:last').hasClass('active')) {
$this.children('.carousel-control-next').hide();
} else {
$this.children('.carousel-control').show();
}
}