-
카테고리
-
세부 분야
웹 개발
-
해결 여부
해결됨
안녕하세요~! max-width 899px2 강의 문의 드립니다!
22.11.10 21:34 작성 조회수 178
1
mobile menu layout 에서요 햄버거 버튼을 누르면 메뉴들이 뜨고 그 메뉴를 눌렀을 때 그 화면으로 가고 창이 닫히게 하고 싶은데 어떻게 하면 될까요..??ㅜㅜ script 독학중이라 많이 어렵네용,,
답변을 작성해보세요.
2
LIZ.B
지식공유자2022.11.11
강의에서 스크립트를 포함하고 있지 않지만, 일단 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초)로 이동하게 합니다.
꼭 완성하시길 , 화이팅입니다.^^
답변 1