2020-02-02
정리
: Javascript30을 공부한 내용 기록
현재 좌표를 확인하고 좌표값을 CSS에 적용한다.
const hero = document.querySelector('.hero');
const text = hero.querySelector('h1');
const walk = 500; // 500px
const shadow = (e) => {
const { offsetWidth: width, offsetHeight: height } = hero;
let { offsetX: x, offsetY: y } = e;
if (this !== e.target) {
x = x + e.target.offsetLeft;
y = y + e.target.offsetTop;
}
const xWalk = Math.round((x / width) * walk - walk / 2);
const yWalk = Math.round((y / height) * walk - walk / 2);
// color
text.style.textShadow = `
${xWalk}px ${yWalk}px 0 rgba(255,0,255,0.7),
${xWalk * -1}px ${yWalk}px 0 rgba(0,255,255,0.7),
${yWalk}px ${xWalk * -1}px 0 rgba(0,255,0,0.7),
${yWalk * -1}px ${xWalk}px 0 rgba(0,0,255,0.7)
`;
};
hero.addEventListener('mousemove', shadow);
👋