NULL

슬라이더 코드 리뷰 본문

Front-end/Vanilla JS

슬라이더 코드 리뷰

1924 2021. 5. 24. 17:13
// 슬라이드 초기값
var slideIndex = 1;

// 시작시 실행되는 showSlides()함수 slideIndex = 1
showSlides(slideIndex);

// 양 옆 화살표 onclick 함수
// Next/previous controls
function plusSlides(n) {

  // n값을 불러와 slideIndex의 값에 더한 후 showSlides함수를 실행
  showSlides(slideIndex += n);
}

// 버튼 클릭시 실행되는 함수
// Thumbnail image controls
function currentSlide(n) {

  // n값을 불러와 slideIndex의 값에 대입한 후 showSlides함수를 실행
  showSlides(slideIndex = n);
}

// showSlides 함수 실행 전달받은 값을 n으로 지정
function showSlides(n) {

  // 반복문 초기화
  var i;

  // 각 사진이 들어있는 div.mySlides 불러온다
  var slides = document.getElementsByClassName("mySlides");

  // 각 이미지에 대한 버튼 클래스를 불러온다
  var dots = document.getElementsByClassName("dot");

  // n이 1보다 큰 경우 전달받은 n의 값이 길이보다 크면 1로 초기화 즉 다시 첫번째 사진 인덱스로 만든다
  if (n > slides.length) {
    slideIndex = 1
  }

  // n이 1보다 작을 경우 div.mySlide 의 길이를 인덱스로 설정
  if (n < 1) {
    slideIndex = slides.length
  }

  // 반복문을 시작
  for (i = 0; i < slides.length; i++) {

    // 모든 사진을 none으로 처리
    slides[i].style.display = "none";
  }

  // 반복문 시작
  for (i = 0; i < dots.length; i++) {

    // dot 클래스가 갖고있는 모든 active 클래스를 지운다 ("" 로 치환)
    dots[i].className = dots[i].className.replace(" active", "");
  }

  // slides[slideIndex - 1] if문으로 처리받은 slideIndex값에 -1을 해 slides 의 클래스를 block으로 만든다
  slides[slideIndex - 1].style.display = "block";

  // 그에 맞는 dot 클래스를 가진 span 에 active 클래스를 추가한다
  dots[slideIndex - 1].className += " active";
}

'Front-end > Vanilla JS' 카테고리의 다른 글

typeof 데이터 확인하기  (0) 2021.12.05
prompt 입력  (0) 2021.12.05
사용자 이름이 null?  (0) 2021.05.17
개인화된 환영 메시지 추가하기  (0) 2021.05.17
이미지 변경자 추가하기  (0) 2021.05.17
Comments