JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<button class="prev" onclick="plus(-1)"></button>
<button class="next" onclick="plus(1)"> > </button>
<div class="carousel">
<img src="https://picsum.photos/id/236/980/320" alt="">
</div>
<div class="carousel">
<img src="https://picsum.photos/id/235/980/320" alt="">
</div>
<div class="carousel">
<img src="https://picsum.photos/id/234/980/320" alt="">
</div>
<div class="carousel">
<img src="https://picsum.photos/id/233/980/320" alt="">
</div>
<div class="carousel">
<img src="https://picsum.photos/id/232/980/320" alt="">
</div>
</div>
CSS
.container{
width: 980px;
position: relative;
margin: auto;
}
.carousel{
display: none;
}
.prev, .next{
position: absolute;
top: 50%;
border: none;
color: #fff;
user-select: none;
font-size: 24px;
background-color: rgba(0, 0, 0, 0);
border-radius: 5px;
cursor: pointer;
}
.prev:hover, .next:hover{
background-color: rgba(0, 0, 0, 0.5);
}
.prev{
left: 0;
}
.next{
right: 0;
}
JavaScript
var prev=document.querySelector(".prev");
prev.textContent="<";
var slideIndex=1;
show(slideIndex);
function plus(n){
show(slideIndex += n);
}
function show(n){
var i;
var carousels=document.querySelectorAll(".carousel");
for(i=0; i<carousels.length; i++){
carousels[i].style.display="none";
}
if(n>carousels.length){
slideIndex=1;
}
if(n<1){
slideIndex=carousels.length;
}
carousels[slideIndex-1].style.display="block";
}