JSFiddle - React, Tailwind, and code Playground
by Joe
HTML
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" src="https://placeimg.com/640/480/any" alt="First slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="https://placeimg.com/640/480/any" alt="Second slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="https://placeimg.com/640/480/any" alt="Third slide">
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleControls" 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="#carouselExampleControls" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
JavaScript
$('.carousel').carousel({
wrap: false
}).on('slid.bs.carousel', function () {
currentSlide = $('.active');
if(currentSlide.is( ':first-child' )) {
$('.carousel-control-prev').css('pointer-events', 'none');
return;
} else {
$('.carousel-control-prev').css('pointer-events', 'auto');
}
if (currentSlide.is( ':last-child' )) {
$('.carousel-control-next').css('pointer-events', 'none');
return;
} else {
$('.carousel-control-next').css('pointer-events', 'auto');
}
});