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 |