pageYOffsetプロパティとは?役割と使い方を解説
JavaScriptでウィンドウの左上隅からドキュメントがスクロールしたピクセル数を取得したい場合、pageXOffsetプロパティとpageYOffsetプロパティを使用します。このうち、pageYOffsetは垂直方向(縦)のスクロール量をピクセル単位で取得するためのプロパティです。
pageYOffsetプロパティの基本
pageYOffsetはwindow.pageYOffsetの形式で参照し、ページが上端からどれだけ下にスクロールされているかを数値(ピクセル)として返します。読み取り専用のプロパティのため、値を直接変更することはできません。
なお、pageYOffsetはwindow.scrollYのエイリアス(別名)でもあり、どちらを使っても同じ結果が得られます。同様に、水平方向のスクロール量を取得するにはwindow.pageXOffset(またはwindow.scrollX)を使用します。
サンプルコード
以下のコードを実行すると、pageYOffsetプロパティの動作を確認できます。ボタンをクリックするとページがスクロールされ、その時点での垂直方向のスクロール位置がアラートで表示されます。
<!DOCTYPE html>
<html>
<head>
<style>
div {
background-color: green;
height: 1500px;
width: 1500px;
}
</style>
</head>
<body>
<script>
function scrollFunc() {
window.scrollBy(200, 200);
alert("Vertical: " + window.pageYOffset);
}
</script>
<button onclick="scrollFunc()" style="position:fixed;">Scroll</button>
<br><br><br>
<div></div>
</body>
</html>
コードのポイント
window.scrollBy(200, 200):現在の位置から水平・垂直それぞれ200ピクセルずつスクロールします。window.pageYOffset:スクロール後の垂直方向の位置を取得し、アラートで表示します。- ボタンには
position: fixed;を指定しているため、スクロールしてもボタンは画面上に固定されたまま表示されます。
このように、pageYOffsetプロパティを使えば、スクロール位置を簡単に取得できるため、「トップへ戻る」ボタンの表示制御や、スクロールに連動したアニメーションなど、さまざまな場面で活用できます。
-
【JavaScript】キーボードイベントのaltKeyプロパティとは?役割と使い方を解説
altKeyプロパティとはJavaScriptのaltKeyプロパティは、キーボードイベントが発生した瞬間にAltキー(MacではOptionキー)が押されていたかどうかを判定するためのプロパティです。このプロパティは真偽値(Boolean)を返します。true … イベント発生時にAltキーが押されていたfalse … Altキーは押されていなかった関連する修飾キーのプロパティaltKeyと同じ仕組みで、他の修飾キーの状態も取得できます。組み合わせて使うことで、より柔軟なキーボード操作の判定が可能になります。ctrlKey … Ctrlキーの状態shiftKey … Shiftキーの状態me
-
HTML WindowのpageYOffsetプロパティとは?使い方とコード例をわかりやすく解説
pageYOffsetプロパティとはHTML WindowオブジェクトのpageYOffsetプロパティは、現在のドキュメントが垂直方向(上端)からどれだけスクロールされているかを、ピクセル単位の数値として返します。ページのスクロール位置を取得したい場合に便利なプロパティで、読み取り専用のため値の設定はできません。水平方向のスクロール量を取得したい場合は、同様にpageXOffsetプロパティを使用します。構文pageYOffsetプロパティの基本的な構文は以下のとおりです。window.pageYOffsetサンプルコードここでは、「Scroll」ボタンでページを10pxずつスクロールし、「