Soo, I'm a complete beginner to javascript and I've got this code for a carousel(from this tutorial:https://www.youtube.com/watch?v=gor5BvT2z88) which is existing only on one of the pages. What do I need to add to the code, so that when I'm on other pages which don't contain this carousel I don't get this error: Uncaught TypeError: Cannot read properties of null (reading 'addEventListener') ?
let slidePosition = 0;
const slides = document.getElementsByClassName('carousel__item');
const totalSlides = slides.length;
document.
getElementById('carousel__button--next')
.addEventListener("click", function () {
moveToNextSlide();
});
document.
getElementById('carousel__button--prev')
.addEventListener("click", function () {
moveToPrevSlide();
});
function updateSlidePosition() {
for (let slide of slides) {
slide.classList.remove('carousel__item--visible');
slide.classList.add('carousel__item--hidden');
}
slides[slidePosition].classList.add('carousel__item--visible');
}
function moveToNextSlide() {
if (slidePosition === totalSlides - 1) {
slidePosition = 0;
} else {
slidePosition++;
}
updateSlidePosition();
}
function moveToPrevSlide() {
if (slidePosition === 0) {
slidePosition = totalSlides - 1;
} else {
slidePosition--;
}
updateSlidePosition();
}
<section id="carousel-section">
<div class="carousel">
<h2 class="carousel-header">FEATURED WORK</h2>
<div class="carousel__item carousel__item--visible"><img
src="./carousel pictures/slide show pictures/slide1.jpg" alt=""></div>
<div class="carousel__item"><img src="./carousel pictures/slide show pictures/slide2.JPG" alt=""></div>
<div class="carousel__item"><img src="./carousel pictures/slide show pictures/slide3.JPEG" alt=""></div>
<div class="carousel__item"><img src="./carousel pictures/slide show pictures/slide4.JPG" alt=""></div>
<div class="carousel__item"><img src="./carousel pictures/slide show pictures/slide5.JPG" alt=""></div>
<div class="carousel__actions">
<button id="carousel__button--prev" aria-label="previous slide">
< </button> <button id="carousel__button--next" aria-label="next slide"> >
</button>
</div>
</section>