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

home2 게시판 JavaScript, TS 게시판 탭메뉴 for문 질문 드립니다!

탭메뉴 for문 질문 드립니다!

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

    박땡땡
    참가자

    "use strict";

    //제가 만든 방법인데, 이런 방법은 코드가 길어서 비효율적인가요?
    // for문을 돌리면 페이지 로드되자마자 조건문만큼 반복되어야 하지만
    //이 방법은클릭 이벤트로 받은 this 인덱스 번호 만큼만 실행하면 되서 효율적일 것 같은데 아닌가요..?
    $('.tab-button').click(function() {
    let buttonIndex = $(this).index();
    let thisTabContent = $('.tab-content').eq(buttonIndex);
    $('.tab-button').removeClass('active');
    $('.tab-content').removeClass('show');
    $(this).addClass('active');
    $(thisTabContent).addClass('show');
    });

    //선생님 브라우저가 로드 되자마자 for문은 3번 돌고 나서 i = 3이 되었는데,
    // eq(i)번째의 값을 클릭이벤트로 받아오는게 이해가지 않습니다 ㅠㅠ
    //let 키워드는 {중괄호} 범위롤 참고하는 것을 알고 있지만,
    // 이미 끝난 반복문의 값을 순서대로 0,1,2 번을 찾아 이벤트를 실행하는 것이
    // 아무리 찾아봐도 이해되지 않습니다 ㅠㅠ
    for(let i = 0; i < $('.tab-button').length; i++) {
    console.log(i+'이벤트바깥 i 위');
    $('.tab-button').eq(i).click(function(){
    console.log(i+'이벤트 안 i');
    $('.tab-button').removeClass('active');
    $('.tab-content').removeClass('show');
    $('.tab-button').eq(i).addClass('active');
    $('.tab-content').eq(i).addClass('show');
    });
    console.log(i+'이벤트바깥 i 아래');
    }

     

     

    #25326

    codingapple
    키 마스터

    그것도 좋은 방법입니다

    반복문은 코드 3번 복붙해주는 문법입니다

    복붙한 코드 주변에 let i 라는 변수도 함께 생성해주기 때문에 i를 가져다쓸 수 있습니다 

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 호 / 개인정보관리자 : 박종흠