클릭하면 이동하는 자바스크립트

클릭하면 이동하는 자바스크립트

QA

클릭하면 이동하는 자바스크립트

본문

안녕하세요. article1 ~ article 5 클릭시

company_click 클릭시 company_arti 로 이동하는 js를 짰는데요.

일단 높이값을 가져왔는데 이동하는 이벤트리스너를 어떻게 배열로 나오게 하는지..

 

function moveHandler[i]() { 이부분이 잘못된 것 같은데..

혹시 아시는 고수님? 알려주시면 감사하겠습니다~

 

함수 이름을 for 안에넣는 방법이 있을까요?

 

 


// 클릭시 원하는 곳으로 이동하기
  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();
   

이 질문에 댓글 쓰기 :

답변 3

function moveHandler(i) {
      window.scrollTo({ top: company_h[i] - menuHeight, behavior: 'smooth' })
    }

 

 

company_click[i].addEventListener('click', moveHandler(i))


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();


 
이렇게 했는데 반응이 없네요..ㅠ

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' })

    }

  });

   

 

  }

답변을 작성하시기 전에 로그인 해주세요.
전체 2,661
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT