[JS30] - 16) Mouse Move Shadow
6894 ワード
const $text = document.querySelector('h1');
const $hero = document.querySelector('.hero');
let walk = 500;
document.addEventListener("mousemove", handleMove);
function handleMove(ev) {
const {offsetWidth: width, offsetHeight: height} = $hero;
let {offsetX: x, offsetY: y} = ev;
if (this !== ev.target) {
x = x + ev.target.offsetLeft;
y = y + ev.target.offsetTop;
}
const xWalk = Math.round((x / width * walk) - (walk / 2));
const yWalk = Math.round((y / height * walk) - (walk / 2));
$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)
`
}
Reference
この問題について([JS30] - 16) Mouse Move Shadow), 我々は、より多くの情報をここで見つけました https://velog.io/@gygy/JS30-16-Mouse-Move-Shadowテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol