• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    해결됨

안녕하세요~! max-width 899px2 강의 문의 드립니다!

22.11.10 21:34 작성 조회수 178

1

mobile menu layout 에서요 햄버거 버튼을 누르면 메뉴들이 뜨고 그 메뉴를 눌렀을 때 그 화면으로 가고 창이 닫히게 하고 싶은데 어떻게 하면 될까요..??ㅜㅜ script 독학중이라 많이 어렵네용,,

답변 1

답변을 작성해보세요.

2

강의에서 스크립트를 포함하고 있지 않지만, 일단 javascript로 진행하실거면.
html에서는
각 섹션마다 id="s0" ,s1,s2..이런식의 이름을 넣어주고,
html에 필요 plugin 리소스를 넣어줍니다.

<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.3.3/gsap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.0/ScrollToPlugin.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.0/ScrollTrigger.min.js"></script>

scirpt에서는

 const NAV_LIST = document.querySelectorAll('.nav li');
  let section = document.querySelectorAll('section');

  NAV_LIST.forEach(function (btn, index) {

    btn.addEventListener('click', function () {


      gsap.to(window, {
        duration: 1,
        scrollTo: {
          y: '#s' + index
        }
      })

      
    })

  })


요런식으로 작성하시면 될 거 같습니다. ^^ 버튼을 클릭하면 현재 내가 누른 버튼의 순서값을 index로 받고 내가 클릭한 버튼은 btn 매개변수로 받아냅니다. gsap scrollTo를 이용해 각 색션 이름에 id의 순번에 index를 대입해 duration:1(1초)로 이동하게 합니다.
꼭 완성하시길 , 화이팅입니다.^^

이나현님의 프로필

이나현

질문자

2022.11.24

감사합니다~~! 도움이 많이 되었어요ㅎㅎ