FRONT/JAVASCRIPT

[JS] MouseEvent.clientX, MouseEvent.clientY 로 좌표 실습하기

연듀 2021. 7. 24. 14:04

 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Coordinates</title>
    <script src="main.js" defer></script>
    <link rel="stylesheet" href="style.css" />
  </head>
  <body>
    <div class="line horizontal"></div>
    <div class="line vertical"></div>
    <img class="target" src="img/target.png" alt="target" />
    <span class="tag"></span>
  </body>
</html>

 

 

const vertical = document.querySelector(".vertical");
const horizontal = document.querySelector(".horizontal");
const target = document.querySelector(".target");
const tag = document.querySelector(".tag");

document.addEventListener("mousemove", (event) => {
  const x = event.clientX;
  const y = event.clientY;
  console.log(`${x} ${y}`);
  // client => window 위에서 움직이는 좌표를 받음
  vertical.style.left = `${x}px`;
  // style을 지정할 시 px을 붙여야 함
  horizontal.style.top = `${y}px`;
  target.style.left = `${x}px`;
  target.style.top = `${y}px`;
  tag.style.left = `${x}px`;
  tag.style.top = `${y}px`;
  tag.innerHTML = `${x}px, ${y}px`;
});

 

 

MouseEvent.clientX

 

:이벤트가 발생한 위치의 수평 좌표

 

 

MouseEvent.clientY

 

:이벤트가 발생한 위치의 수직 좌표

 

 

 

 

mousemove 이벤트가 발생할 때마다 event.clientX, event.clientY로 x와 y 좌표로 받아와 

수직선, 수평선, 이미지의 위치, 태그의 innerHTML을 지정해준다.