캐러셀 슬라이드 제어하기
이번 수업에서는 JavaScript를 활용해 캐러셀 슬라이드를 제어해볼게요.
슬라이드 보여주는 기능 만들기
슬라이드를 보여주는 showSlides 함수 선언
function showSlides(n) {
let i;
let slides = document.getElementsByClassName('my-slides');
let dots = document.getElementsByClassName('dot');
if (n > slides.length) {
slideIndex = 1;
}
if (n < 1) {
slideIndex = slides.length;
}
for (i = 0; i < slides.length; i++) {
slides[i].style.display = 'none';
}
for (i = 0; i < dots.length; i++) {
dots[i].className = dots[i].className.replace(' active', '');
}
slides[slideIndex - 1].style.display = 'block';
dots[slideIndex - 1].className += ' active';
}
자 그럼 지금까지 호출만 했던 showSlides
함수를 만들어볼게요.
함수 선언
showSlides
함수는 n
이라는 인자의 값에 따라서 보여지는 슬라이드가 달라지도록 만들었어요.
변수 선언
슬라이드 제어 변수 선언
let i;
let slides = document.getElementsByClassName('my-slides');
let dots = document.getElementsByClassName('dot');
내부적으로 사용될 변수 3개를 선언했어요.
i
는 반복문에서 사용될 변수고, slides
는 my-slides
라는 클래스를 가진 요소들, 슬라이드들을 모아놓은 배열이에요.
그리고 dots
는 dot
이라는 클래스를 가진 요소들, 인디케이터를 모아놓은 배열이에요.
슬라이드의 개수가 넘어가는 경우 처리하기
슬라이드의 개수가 넘어가는 경우 처리하기
if (n > slides.length) {
slideIndex = 1;
}
if (n < 1) {
slideIndex = slides.length;
}