web-dev-qa-db-ja.com

javascriptのウィンドウビューポートに対するマウスの位置を取得するにはどうすればよいですか?

event.pageYは、ドキュメント全体の高さに対するマウスの位置を取得します(document.documentElement.offsetHeight 私が想定し)。

しかし、現在のビューポートに対するマウスの位置を取得するにはどうすればよいですか?document.documentElement.clientHeight

たとえば、ブラウザウィンドウのサイズが720ピクセルの高さである場合、3ページ下にスクロールし、ウィンドウの中央にマウスを置いたまま、位置を1800(720 x 3-720/2)ではなく「360」にする必要があります。

23
nice ass

スクロールに関係なく常に正しい値を返すはずのevent.clientYを使用してみてください

https://developer.mozilla.org/en-US/docs/DOM/event.clientY

38
lostsource

使用する - event.clientY を取得して、ブラウザのビューポートに対して マウスの位置 を取得します( 互換性テーブル )。

8
Bergi