오늘은 토글 메뉴를 만들었다. 

나름 자주 사용하는데 저장해 놓기 위해 글을 쓴다.

 

오늘 만들 메뉴이다. 

자주 이런 메뉴를 만들기 때문에 기록해놓는다.

 

 

위에 사진에 있는 숫자 메뉴 하나를 눌렀을 때

하위 메뉴가 나오고

다른 대에는 메뉴가 감춰진다.

 

 

1번을 눌렀을 때 화면이다.

 

2번을 눌렀을때 화면이다.

 

1. html

<div style="width: 100%; max-width:1280px;margin:0 auto;">
    <ul class="investment__tab">
      <li>
        <div class="contents">
          <span>1.</span>
          <p>2021년</p>
          <i>
            <img src="./images/directors_arr.png" alt="" />
          </i>
        </div>

        <div class="drop__div">

          <div class="article__box">
            <div class="article__box__item">
              <h6>제1조 (상호)</h6>
              <p>
                회사의 상호는 씨에스윈드 주식회사라 한다. 영문으로는 CS Wind Corporation이라 표기한다.
              </p>
            </div>
            <div class="article__box__item">
              <h6>제2조 (목적)</h6>
              <p>
                회사는 다음의 사업을 영위함을 목적으로 한다.<br>
                1. 풍력발전 설비업 및 제조업<br>
                2. 풍력발전 관련 기술 개발업<br>
                3. 강구조물 제작 및 설치업<br>
                4. 풍력발전 관련 컨설팅 및 지원 서비스업<br>
                5. 플랜트 설비 제작 및 판매<br>
                6. 에너지 설비 제작 및 판매<br>
                7. 신재생에너지 관련 사업<br>
                8. 도·소매업<br>
                9. 무역업<br>
                10. 서비스업<br>
                11. 임가공업<br>
                12. 부동산 매매 및 임대업<br>
                13. 위 각 호의 사업을 하는 회사에 대한 투자<br>
                14. 위 각 호에 부대되는 사업
              </p>
            </div>
          </div>

        </div>
      </li>
      <li>
        <div class="contents">
          <span>2.</span>
          <p>2020년</p>
          <i>
            <img src="./images/directors_arr.png" alt="" />
          </i>
        </div>

        <div class="drop__div">
          2번
        </div>
      </li>
      <li>
        <div class="contents">
          <span>3.</span>
          <p>2019년</p>
          <i>
            <img src="./images/directors_arr.png" alt="" />
          </i>
        </div>

        <div class="drop__div">
          3번
        </div>
      </li>
    </ul>
  </div>

 

맨 위 상위 태그는 그냥 가운데를

가운데 정렬을 위한 태그이다.

 

2.css

ul.investment__tab li>div.contents {
      position: relative;
      display: flex;
      padding: 35px 0;
      cursor: pointer;
      border-bottom: 1px solid #e8e8e8;
    }

    ul.investment__tab li:last-child>div.contents {
      border-bottom: 0;
    }

    ul.investment__tab li>div.contents span {
      font-weight: 400;
      font-size: 22px;
      line-height: 25px;
      color: #303030;
      width: 60px;
      text-align: center;
      transition: color 0.5s ease;
    }

    ul.investment__tab li>div.contents p {
      padding-left: 30px;
      font-weight: 400;
      font-size: 20px;
      line-height: 23px;
      letter-spacing: -1px;
      color: #000000;
      transition: color 0.5s ease;
    }

    ul.investment__tab li>div.contents i {
      position: absolute;
      right: 27px;
      top: calc(50% - 5px);
      transition: transform 0.5s ease;
    }

    ul.investment__tab li.active>div.contents {
      border-bottom: 0;
    }

    ul.investment__tab li.active>div.contents span {
      color: #0085ff;
    }

    ul.investment__tab li.active>div.contents p {
      color: #0085ff;
    }

    ul.investment__tab li.active>div.contents i {
      transform: rotate(180deg);
    }

    .drop__div {
      visibility: hidden;
      background: rgba(0, 0, 0, 0.025);
      height: 0;
      padding-bottom: 0;
      overflow: hidden;
    }

    .active .drop__div {
      visibility: visible;
      height: auto;
      padding: 28px 19px;
      box-sizing: border-box;

    }

    .drop__div .title1 {
      font-weight: 600;
      font-size: 22px;
      line-height: 34px;
      color: #000000;
    }


    /* ====== */
    .article__box__item {
      margin-top: 30px;
    }

    .article__box__item:first-child {
      margin-top: 0;
    }

    .article__box__item>h6 {
      font-weight: 500;
      font-size: 17px;
      line-height: 1.8;
      letter-spacing: -1px;
      color: #000000;
    }

    .article__box__item>p {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      letter-spacing: -1px;
      color: #000000;
    }

    @media screen and (max-width: 1024px) {
      ul.investment__tab li>div.contents {
        padding: 25px 0;
      }
    }

    @media screen and (max-width: 640px) {
      ul.investment__tab li>div.contents {
        padding: 15px 0;
      }

      ul.investment__tab li>div.contents span {
        font-size: 20px;
        line-height: 25px;
      }

      ul.investment__tab li>div.contents p {
        padding-left: 20px;
        font-size: 18px;
        line-height: 25px;
      }
    }

 

친절하게 반응형까지 

세팅해놓았다.!

 

3. js

<script>
    const directors_tab = function () {
      var tab_btn = $('ul.investment__tab li .contents');

      tab_btn.click(function (event) {
        $(this).parent().siblings().removeClass('active')
        $(this).parent().toggleClass('active');
      });

    }
    directors_tab();
  </script>

 

자주 쓰는 슬라이드 토글 메뉴를

블로그에 기록해 놓는다..

업무 하다 보면 이렇게 기록해 놓는 게 참 도움이 

되는 경우가 많다.

시간 절약이나 뭐나...

 

'웹 개발 > 템플릿' 카테고리의 다른 글

스크롤 이벤트중 iframe youtube 제어  (5) 2022.09.22
div table custom  (10) 2022.08.04

+ Recent posts