HTML DOM MouseEventのscreenYプロパティとは?使い方を実例で解説
HTML DOMのMouseEvent screenYプロパティは、マウスイベントが発生した際に、マウスポインターの位置をユーザーのスクリーン(画面)基準の垂直方向(Y軸)座標として返します。screenXプロパティと組み合わせて使用することで、水平方向の座標も同時に取得できます。
構文
screenYプロパティの値を参照するための基本的な構文は以下の通りです。
MouseEventObject.screenY
戻り値はマウスポインターの画面上でのY座標(ピクセル単位の整数値)です。
MouseEvent screenYプロパティの使用例
次のサンプルでは、screenYプロパティを活用したシンプルなミニゲームを実装しています。緑色の「安全エリア」の中でマウスカーソルを動かし、条件となる座標に到達できればクリア、赤色の「危険エリア」に触れると失敗という仕組みです。
コード例
<!DOCTYPE html>
<html>
<head>
<title>MouseEvent screenY</title>
<style>
* {
padding: 2px;
margin:5px;
}
form {
width:70%;
margin: 0 auto;
text-align: center;
}
#outer {
width:70%;
margin: 0 auto;
padding: 0;
text-align: center;
border:1px solid black;
height: 105px;
background-color: #28a745;
}
input[type="button"] {
border-radius: 10px;
}
#upper {
border-bottom: 1px solid black;
height: 40px;
margin: 0 0 15px 0;
background-color: #DC3545;
}
#lower {
border-top: 1px solid black;
height: 40px;
margin: 15px 0 0 0;
background-color: #DC3545;
}
</style>
</head>
<body>
<form>
<fieldset>
<legend>MouseEvent-screenY</legend>
<div id="outer">
<div id="upper"><h2>Danger</h2></div>
<div id="lower"><h2>Danger</h2></div>
</div>
<input type="button" id="start" value="Start" onclick="gameStart()">
<div id="divDisplay"></div>
</fieldset>
</form>
<script>
var divDisplay = document.getElementById('divDisplay');
var gameDisplay = document.getElementById('outer');
function playGame(event) {
var x = event.screenX;
var y = event.screenY;
if(y > 330 && y < 345){
divDisplay.textContent = 'Keep Going!';
if(x === 1171){
divDisplay.textContent = 'Congrats! You Did it!';
gameDisplay.removeEventListener('mousemove', playGame);
}
}
else{
divDisplay.textContent = 'You moved to DANGER area. You loose!';
gameDisplay.removeEventListener('mousemove', playGame);
}
}
function gameStart(){
gameDisplay.addEventListener('mousemove',playGame);
}
</script>
</body>
</html>
コードのポイント
gameStart()関数が呼ばれると、緑色の領域(#outer)に対してmousemoveイベントリスナーが登録されます。playGame()関数内では、イベントオブジェクトからevent.screenXとevent.screenYを取得し、現在のカーソル位置を判定します。- Y座標が330〜345の範囲内であれば「Keep Going!」と表示され、さらにX座標が1171に一致すると「Congrats! You Did it!」と表示されてゲームクリアとなります。
- 範囲外の座標に移動すると「You moved to DANGER area.」と表示され、ゲームオーバーとしてイベントリスナーが解除されます。
実行結果
「Start」ボタンをクリックした後、カーソルが緑色(安全)エリア内にある場合:

「Start」ボタンをクリックした後、カーソルが緑色(安全)エリアの終端に達した場合:

「Start」ボタンをクリックした後、カーソルが赤色(危険)エリアに入った場合:

このようにscreenYプロパティを使えば、マウスポインターの画面上の垂直位置を簡単に取得できます。画面全体を基準とした座標が必要な場面、たとえばドラッグ操作やカスタムカーソル、ミニゲームなどを実装する際に非常に役立ちます。
-
HTML DOMのMouseEvent offsetXプロパティとは?マウス座標の取得方法を解説
MouseEvent offsetXプロパティとはHTML DOMのMouseEvent offsetXプロパティは、マウスイベントが発生した際に、ターゲット要素を基準としたマウスポインタの水平方向(X軸)の座標を返します。垂直方向(Y軸)の座標を取得したい場合は、offsetYプロパティと組み合わせて使用します。これらのプロパティを活用することで、要素内でのマウスの正確な位置を把握でき、ドラッグ&ドロップ操作やゲーム、カスタムカーソル追従機能など、さまざまなインタラクティブなWebアプリケーションの実装に役立ちます。構文(シンタックス)offsetXプロパティの値を参照する基本的な構文は以下
-
HTML DOM MouseEvent clientYプロパティとは?マウスのY座標を取得する方法を解説
MouseEvent の clientY プロパティは、マウスイベントが発生した際のマウスポインタの縦方向(Y)の座標値を返します。clientX プロパティと組み合わせることで、横方向(X)の座標も同時に取得できます。これらの座標は、ブラウザの表示領域(ビューポート)の左上隅を原点(0,0)とした相対位置で表されます。そのため、画面上でカーソルが現在どの位置にあるのかを正確に把握したい場面、例えばドラッグ&ドロップの実装やミニゲームの作成などで活躍します。構文clientY の値を参照する基本的な構文は以下の通りです。MouseEventObject.clientY戻り値はピクセル単位の数値