첫 번째 코드는 전역 변수를 사용하여 실시간 마우스 위치를 얻습니다.
var xPos
var yPos;
window.document.onmousemove(function(evt){
evt=evt || window.event;
if(evt.pageX){
xPos=evt.pageX;
yPos= evt.pageY;
} else {
xPos=evt.clientX document.body.scrollLeft-document.body.clientLeft;
yPos=evt.clientY document.body.scrollTop-document.body .clientTop;
}
});
IE와 Firefox는 clientX의 구문 분석이 다르기 때문에 IE는 clientX가 왼쪽 상단을 기준으로 하는 마우스의 위치라고 생각합니다. 전체 페이지의 모서리에 위치하는 반면 Firefox는 현재 표시된 페이지의 왼쪽 상단 모서리를 기준으로 한 위치라고 생각합니다. 이 코드에서 반환되는 최종 결과는 전체 페이지의 왼쪽 상단 모서리 위치입니다. 이 코드의 결함은 xPos와 yPos가 실시간으로 변경된다는 것입니다.
두 번째 코드는 함수를 통해 현재 순간의 마우스 좌표값을 구하는 코드입니다
document.onmousemove = mouseMove;
function mouseMove(ev){
ev = ev || event;
var mousePos = mouseCoords(ev);
}
function mouseCoords(ev){
if(ev.pageX || ev.pageY){
return {x:ev. pageX, y:ev.pageY} ;
}
return {
x:ev.clientX document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY document.body. scrollTop - document.body.clientTop
};
}
이 웹사이트는 우리가 사용할 수 있는 몇 가지 간단한 샘플도 제공합니다. 이 함수는 지금의 함수 이론과 일치합니다. 먼저 mousemove 이벤트를 트리거한 다음 이벤트를 얻은 후 브라우저 유형을 각각 결정합니다. 이 코드의 장점은 전역 변수에 적용되지 않고, 이 함수를 호출하기만 하면 언제든지 사용할 수 있다는 점입니다.
저는 개인적으로 후자를 선호합니다. 이제 자주 사용해야 할 코드를 적어보세요.