[JS] Day22 - Follow Along Link
demo:
github:
Day22 - Follow Along Link
🎯 기능 요구사항
- 특정 요소에 마우스 오버 시 하이라이트 기능을 구현한다.
🚀 배운 점
offsetWidth VS getboundingclientrect
function toggleHighlight() {
const clientRect = this.getBoundingClientRect();
highlighter.style.width = `${this.offsetWidth}px`;
highlighter.style.height = `${this.offsetHeight}px`;
highlighter.style.transform = `translate(${clientRect.left + window.pageXOffset}px, ${clientRect.top + window.pageYOffset}px)`;
}
내가 작성한 코드는 offsetWidth를 이용했는데 wesbos씨는 getBoundingClientRect().width를 이용하였다. 해당 day22 코드 상으로는 동일한 결과가 나오겠지만 아주 큰 차이점이 존재한다.
- 반환 값
getBoundingClientRect().width
는 소숫점까지 반환
offsetWidth
는 반올림된 정수값을 반환
- 렌더링된 값 ❗
만약 width가 100px인 요소에 scale(0.5)를 주었다면
getBoundingClientRect().width
는 50px
offsetWidth
는 100px이 나오게 된다.
<style>
.test {
height: 100px;
width: 100px;
background: red;
transform: scale(0.5);
}
</style>
<body>
<div class="test"></div>
</body>
Author And Source
이 문제에 관하여([JS] Day22 - Follow Along Link), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jiseong/JS-Day22-Follow-Along-Link저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)