function scrollLeftOrRight(uiEvent) {
const carouselElement = document.querySelector('.carousel');
const scrollWidth = carouselElement.scrollWidth;
const offsetWidth = carouselElement.offsetWidth;
const scrollLeft = carouselElement.scrollLeft;
const scrollXBy = (uiEvent.target.classList.contains('left-arrow') ? -1 : 1) * offsetWidth;
if (scrollXBy < 0 && scrollLeft == 0) {
// Als we bij de eerste afbeelding zijn, ga dan naar de laatste
carouselElement.scrollTo({
left: scrollWidth - offsetWidth,
behavior: 'smooth'
});
} else if (scrollXBy > 0 && Math.abs(scrollWidth - (scrollLeft + offsetWidth)) <= 1) {
// Als we bij de laatste afbeelding zijn, ga dan naar de eerste
carouselElement.scrollTo({
left: 0,
behavior: 'smooth'
});
} else {
carouselElement.scrollBy({
left: scrollXBy,
behavior: 'smooth'
});
}
// Volg de <a href=""> niet als we hier zijn gekomen..
uiEvent.preventDefault();
// Update de actieve indicator
updateActiveIndicator();
}
1. Next and Previous button toegevoegd.
2. Carousel indicators toegevoegd
3.Hero navbar en footer toegevooegd.
Test resultaten