본문으로 바로가기

마우스 좌표값

category JavaScript 2020. 10. 20. 01:36

마우스 무브 이벤트의 객체를 한번 보자

    function mousemoveHandler(e) {
        console.log(e);
    }
    window.addEventListener('mousemove',mousemoveHandler);

어디서 많이 보지 않았는가?

공 움직이기에서본 클릭 이벤트 객체와 똑같다

아마 마우스를 사용하는 이벤트들의 객체는 다 같은 것다고 유추해볼 수 있는 것 같다

객체의 x,y좌표값은 좌측 상단이 기준점이다

이렇게 쓸 수도 있겠지만 화면의 중앙이 기준점이 되게하려면 어떻게 할까?

화면의 가로 세로를 구한다음 나누기 2를하면 그게 중앙 좌표값일테다

console.log(window.innerWidth/2);
console.log(window.innerHeight/2);

이 값을 어떻게 계산해주어야할까?

우선 x축은 innerWidth/2의 값을 0으로 좌측은 음수 우측은 양수가 나오게끔해야하고

x값은 좌측끝을 기준으로 우측으로 마우스가 이동할 때 0부터 커져간다

그렇기 때문에 (마우스 좌표값 - 가로 중앙값)을 해주면 된다

console.log(e.clientX - window.innerWidth/2);

y축은 innerHeight/2의 값을 0으로 상단은 양수 하단은 음수가 나오게끔

마우스 y값은 상단이 0 아래로 갈수록 커져간다

그렇기 때문에 (-마우스 좌표값 + 세로 중앙값)을 하면된다

console.log(-e.clientY + window.innerHeight/2);

이렇게 하면 마우스가 움직일 때 모니터 중앙 좌표값이 (0,0)인 2차원 그래프 처럼 값을 그릴 수 있다

'JavaScript' 카테고리의 다른 글

Ajax  (0) 2020.11.08
form  (0) 2020.11.07
정규 표현식  (0) 2020.10.18
html에 js,css파일 적용이 안되는 문제  (0) 2020.10.17
타이밍 제어  (0) 2020.10.15