• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 Carousel 직접만들기 응용문제 코드리뷰

Carousel 직접만들기 응용문제 코드리뷰

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #24845

    박땡땡
    참가자

    html

    <div class="carousel" style="overflow: hidden; position: relative;">
    <div class="slide-container">
    <div class="slide-box"></div>
    <div class="slide-box"></div>
    <div class="slide-box"></div>
    <div class="slide-box"></div>
    <div class="slide-box"></div>
    </div>
    <button class="before"><</button>
    <button class="next">></button>
    </div>
    <div class="slide-pager" style="margin-bottom: 50px; text-align: center;">
    </div>

     

     

     

     

     

    JS

    function carousel() {
    var viewSlide = 0;
    var slideLength = $('.slide-container .slide-box').length;

    //슬라이드 추가 할 때마다 .slide-container 너비 확장
    $('.slide-container').css('width', slideLength+'00vw');

    //슬라이드 수 만큼 페이저 버튼 생성
    for(let i = 0; i < slideLength; i++) {
    $('.slide-pager').append('<button>'+ (i+1) +'</button>');
    }
    //페이저버튼 클릭시 해당 슬라이드로 이동
    $('.slide-pager button').click(function(){
    var pgIndex = $(this).index();
    $('.slide-container').css('transform', 'translateX(-'+ pgIndex +'00vw)');
    viewSlide = pgIndex;
    });
     
    $('.next').click(function(){
    if(viewSlide < (slideLength - 1)) {
    $('.slide-container').css('transform', 'translateX(-' + (viewSlide + 1) + '00vw)');
    viewSlide += 1;
    }
    });
    $('.before').click(function(){
    if(viewSlide > 0) {
    $('.slide-container').css('transform', 'translateX(-' + (viewSlide - 1) + '00vw)');
    viewSlide -= 1;
    }
    console.log(viewSlide);
    });
    }

    carousel();

     

     

     

     

    입니다.

     

    혹시 더욱 깔끔하게 할 수 있다면 피드백 부탁드립니다 🙂

    #24876

    codingapple
    키 마스터

    이것만해도 깔끔한듯요 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠