반응형
<script>
const triggers = document.querySelectorAll('a');
const highlight = document.createElement('span');
highlight.classList.add('highlight');
document.body.appendChild(highlight);
function highlightLink() {
const linkCoords = this.getBoundingClientRect();
console.log(linkCoords);
const coords = {
width: linkCoords.width,
height: linkCoords.height,
top: linkCoords.top + window.scrollY,
left: linkCoords.left + window.scrollX
};
highlight.style.width = `${coords.width}px`;
highlight.style.height = `${coords.height}px`;
highlight.style.transform = `translate(${coords.left}px, ${coords.top}px)`;
}
triggers.forEach(a => a.addEventListener('mouseenter', highlightLink));
</script>
이번에는 마우스를 올렸을 때 하이라이트가 적용되도록 코드를 진행했다.
근데 아무 곳에 올리는 것이 아니라 a태그가 있는 곳에 마우스를 올렸을 때 하이라이트가 들어오도록 코딩을 해주었다.
반응형
'챌린지 > JavaScript 30일 챌린지' 카테고리의 다른 글
[JavaScript 30일 챌린지] : 24일차 (0) | 2022.02.20 |
---|---|
[JavaScript 30일 챌린지] : 23일차 (0) | 2022.02.19 |
[JavaScript 30일 챌린지] : 21일차 (0) | 2022.02.17 |
[JavaScript 30일 챌린지] : 20일차 (0) | 2022.02.16 |
[JavaScript 30일 챌린지] : 19일차 (0) | 2022.02.15 |
댓글