클릭하면 이동하는 자바스크립트 채택완료
itb
2년 전
조회 3,150
안녕하세요. article1 ~ article 5 클릭시
company_click 클릭시 company_arti 로 이동하는 js를 짰는데요.
일단 높이값을 가져왔는데 이동하는 이벤트리스너를 어떻게 배열로 나오게 하는지..
function moveHandler[i]() { 이부분이 잘못된 것 같은데..
혹시 아시는 고수님? 알려주시면 감사하겠습니다~
함수 이름을 for 안에넣는 방법이 있을까요?
</p>
<p>// 클릭시 원하는 곳으로 이동하기</p>
<p> var company_arti = document.querySelectorAll("#company article");</p>
<p> var company_click = document.querySelectorAll('.pc_gnb .main_menu1 .gnb-2dep > li > a');</p>
<p> var menuHeight = document.querySelector("#header").offsetHeight;</p>
<p> function location_action (){</p>
<p> for (var i = 0; i < company_arti.length; ++i) {</p>
<p> </p>
<p> var company_h = company_arti[i].offsetTop;</p>
<p> </p>
<p> function moveHandler[i]() {</p>
<p> window.scrollTo({ top: company_h[i] - menuHeight, behavior: 'smooth' })</p>
<p> }</p>
<p> }</p>
<p> </p>
<p> company_click[i].addEventListener('click', moveHandler[i])</p>
<p> }</p>
<p> location_action();</p>
<p> </p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
2년 전
function moveHandler(i) {
window.scrollTo({ top: company_h[i] - menuHeight, behavior: 'smooth' })
}
company_click[i].addEventListener('click', moveHandler(i))
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
i
itb
2년 전
댓글을 작성하려면 로그인이 필요합니다.
2년 전
for (var i = 0; i < company_arti.length; ++i) {
var company_h = company_arti[i].offsetTop;
company_click[i].addEventListener('click', function (){
window.scrollTo({ top: company_h[i] - menuHeight, behavior: 'smooth' })
}
});
}
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
엑스엠엘
2년 전
document.querySelectorAll('.pc_gnb .main_menu1 .gnb-2dep > li > a').addEventListener('click',
function(){
....
});
방식도 있습니다.
function(){
....
});
방식도 있습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
var company_arti = document.querySelectorAll("#company article");
var company_click = document.querySelectorAll('.pc_gnb .main_menu1 .gnb-2dep > li > a');
var menuHeight = document.querySelector("#header").offsetHeight;
function location_action (){
for (var i = 0; i < company_arti.length; ++i) {
var company_h = company_arti[i].offsetTop;
function moveHandler(i) {
window.scrollTo({ top: company_h[i] - menuHeight, behavior: 'smooth' })
}
company_click[i].addEventListener('click', moveHandler(i))
}
}
location_action();
[/code]
이렇게 했는데 반응이 없네요..ㅠ