コードの最初の部分では、グローバル変数を使用してリアルタイムのマウス位置を取得します。
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 がリアルタイムで変化することです。
2 番目のコードは、関数を通じて現時点のマウス座標値を取得することです
Copy code コードは次のとおりです。イベント; 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
};
}
この Web サイトには、簡単なサンプルも用意されています。この関数は、先ほどの関数理論と一致しています。まず、mousemove イベントをトリガーし、イベントを取得した後、ブラウザーの種類をそれぞれ決定します。このコードの利点は、グローバル変数に適用されず、この関数が呼び出されている限りいつでもマウス座標を取得できることです。
これら 2 つのコードのうち、私は個人的に後者のコードをよく使用します。