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

home2 게시판 JavaScript, TS 게시판 캐러셀 만들기 하는 중에 if문에 대한 질문입니다.

캐러셀 만들기 하는 중에 if문에 대한 질문입니다.

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

    김준범
    참가자
    var 지금사진 = 2;
     document.querySelector('.btnnext').addEventListener('click',function(){
     지금사진 = 지금사진 + 1;
    if(지금사진%3 == 0){
     document.querySelector('.slide-container').classList.add('move100');
     
    } else if(지금사진%3 == 1){
     document.querySelector('.slide-container').classList.add('move200');
     
     
    } else if(지금사진%3 == 2){
     document.querySelector('.slide-container').classList.add('move');
    }
    
    
    선생님, 이런식으로 코드를 짜면 4번째 클릭을 할때 1번째 그림으로 다시 돌아올 줄 알았는데, 그렇게 안되더라고요.
    혹시 if문은 이벤트 리스너 안에 있어도 한번 실행되면 재차 실행이 안되는 건가요?
    #48506

    codingapple
    키 마스터
    실행됩니다 
    아마 클래스명을 붙이기만하고 떼는코드가 없어서 그럴듯요
    #48515

    김준범
    참가자
    .move100 {
    transform: translateX(-100vw);
    }
    .move200 {
    transform: translateX(-200vw);
    }
    .move {
    transform: none;
    }
     
    선생님, 제가 move 클래스에는 트랜스폼 none을 줬거든요.
    첫 글에서 제가 말씀을 잘못드렸는데, 3번째 클릭했을때, 1번째 그림으로 돌아오기는 하는데요.
    4번째 클릭했을때 2번째 그림으로 넘어가지를 않습니다. 그때부터는 먹통이에요 ㅠ ㅠ
    혹시 css 순서도 영향이 있는건가요? CSS에서 move 클래스가 순서상 더 아래에 있기때문에, move클래스가 더해진 이후에
    그 뒤에 추가로 move100이나 move200을 더해도 여전히 move클래스의 css효과의 영향을 받는 것인가요?
    그래서 클래스를 빼주는 것도 추가를 해줘야 제대로 동작을 하는 것이고요.
    
    
     var 지금사진 = 2;
     document.querySelector('.btnnext').addEventListener('click',function(){
     지금사진 = 지금사진 + 1;
     if(지금사진%3 == 0){
     document.querySelector('.slide-container').classList.add('move100');
     
     } else if(지금사진%3 == 1){
     document.querySelector('.slide-container').classList.remove('move100');
     document.querySelector('.slide-container').classList.add('move200');
     
     
     } else if(지금사진%3 == 2){
     document.querySelector('.slide-container').classList.remove('move200');
    }
    
    그래서 이렇게 짜봤더니 잘 동작하네요 ㅎㅎ
     
    #48525

    codingapple
    키 마스터
    네 class="move100 move200" 이렇게 해놓으면 스타일 둘 다 적용됩니다
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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