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

home2 게시판 JavaScript, TS 게시판 [서브메뉴 만들어보기와 classList 다루기]

[서브메뉴 만들어보기와 classList 다루기]

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

    강주희
    참가자
    [lec6.html]
    
    <!doctype html>
    <html lang="en">
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Bootstrap demo</title>
        <link rel = "stylesheet" href="main.css">
        <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
      </head>
      <body>
    
        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
        <button type="button" class="btn btn-secondary">Secondary</button>
    
        <nav class="navbar navbar-light bg-light">
          <div class="container-fluid">
            <span class="navbar-brand">Navbar</span>
            <button class="navbar-toggler" type="button">
              <span class="navbar-toggler-icon"></span>
            </button>
          </div>
        </nav>
    
    <!-- 1. 미리 서브 메뉴를 html css로 디자인-->
    <ul class="list-group"> <!-- 띄어쓰기 통해서 두 개의 클래스 정의 가능 /애니매이션, 재사용 유리-->
      <li class="list-group-item">An item
      <li class="list-group-item">A second item
      <li class="list-group-item">A third item
      <li class="list-group-item">A fourth item
      <li class="list-group-item">And a fifth one
    
    <!-- 2. 버튼 클릭 시 서브 메뉴가 나타나게 작성 / class 탈부착으로 구현가능-->
    <script>
      document.getElementsByClassName('navbar-toggler')[0].addEventListener('click',function(){
            document.getElementsByClassName('list-group')[0].classList.toggle('show');
            /* 원하는 요소에 class 추가하는 것 */
            /* querySelector 사용 -> document.querySelectorAll('.~') css 문법 그대로                                                  /*style.display = 'none';*/
           /* document.getElementsByClassName('show')[0].style.display = 'block'; */
        })
    </script>
    
    </body>
    </html>
    
    [main.css]
    
    .alert-box{
        background: blue;
        color: skyblue;
        padding: 20px;
        border-radius: 5px;
        display: none; /* 1. 미리 디자인해놓고 숨김 */
    }
    
    .list-group{
        display : none;
    }
    
    .show{
        display : block;
    }
    
    
    이렇게 코드를 작성했는데 list-group의 리스트들이 브라우저에서 none이 적용되지 않고모두 나타나고 있습니다.
    이래저래 고쳐보고 생각해보았는데 진전이 없어 어느 부분이 틀렸는지 질문을 드립니다.
    감사합니다. :)
    #104575

    codingapple
    키 마스터
    복붙해보니까 잘되는데 css 이상한거없나 확인합시다
    #104646

    강주희
    참가자
    javascript
    
    저도 똑같이 복붙하여 실행하였는데 list item들이 브라우저에서 보이는 상태로 나타납니다 ㅠㅠ
    #104665

    codingapple
    키 마스터
    개발자도구 열어서 버튼누르면 원하는 스타일 잘 적용되고있나 
    콘솔탭에 에러는 없나 확인해봅시다
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 호 / 개인정보관리자 : 박종흠