소소한 개발/javaScript

동일한 페이지의 섹션으로 스크롤

myungmin 2022. 2. 15. 19:52
const moveContent = (e:any)=> {
    // 1. 클릭 이벤트 막기
    e.preventDefault();
    // 2. 클릭 했을때 target 구하기
    const targetId = e.target.getAttribute('href').slice(1);
    const target = document.querySelector(targetId);
    // 3. offsetTop 구하기
    const moveY = target.offsetTop;
    // 4. offsetTop 이동
    window.scroll({
        top: moveY,
        behavior: 'smooth'
    });
}
<About id="about"/>
<Works id="works"/>
<Contact id="contact"/>
 <Nav>
    <Link href="#about" passHref><NavItem onClick={moveContent}>ABOUT</NavItem></Link>
    <Link href="#works" passHref><NavItem onClick={moveContent}>WORKS</NavItem></Link>
    <Link href="#contact" passHref><NavItem onClick={moveContent}>CONTACT</NavItem></Link>
</Nav>

 

반응형

'소소한 개발 > javaScript' 카테고리의 다른 글

JavaScript event prevent  (0) 2022.03.10
spread와 rest 문법  (0) 2022.02.13
배열(Array) 과 Object(객체) 에 대해 알아보자  (0) 2022.02.02
JavaScript 데이터 타입(Data Type)  (0) 2022.02.01
let, const, var 차이  (0) 2022.01.31