jQueryでスクロール位置を取得する方法を紹介!

jQueryでスクロール位置を取得する方法をサンプルコード付きで紹介します。jQueryの.scrollTop()や.scrollLeft()により垂直方向・水平方向のスクロール位置を取得することが出来ます。やり方をマスターしましょう!

コンテンツ [表示]

  1. 1jQueryでスクロール位置を取得する方法
  2. 1.1垂直方向のスクロール位置を取得
  3. 1.2水平方向のスクロール位置を取得
  4. 2jQueryでスクロールさせる方法

jQueryではWEBページの画面上のスクロール位置を取得したり、プログラムでスクロールさせるといった処理が可能になります。

jQueryでスクロール位置を取得する方法

まず基礎知識からですが、jQueryのスクロールは水平方向・垂直方向の2種類のスクロールがあります。

スクロールの種類

2種類の方向のスクロールの量はそれぞれjQueryの

  • 垂直方向:.scrollTop()
  • 水平方向:.scrollLeft()
で取得することが出来ます。

それぞれ見ていきましょう。

垂直方向のスクロール位置を取得

下記のサンプルコードを見てみましょう。プレビュー画面で縦スクロールすると、そのスクロール量(スクロール位置)を表示するようにしています。

今回windowオブジェクトに対してスクロールイベントで処理を行っていますが、$(this)thiswindowオブジェクトです。

jQueryの.scrollTop()を使い垂直方向のスクロール位置を取得することが出来ます。

水平方向のスクロール位置を取得

次に水平方向のスクロール位置を取得してみましょう。.scrollLeft()で取得が可能です。

下記のサンプルコードを見てみましょう。プレビュー画面で横スクロールしてみましょう。

今回もjQueryのセレクタにwindowオブジェクトを指定して.scrollLeft()により水平方向のスクロール位置を取得し、その値を表示しています。

jQueryでスクロールさせる方法

次にjQueryの.scrollTop().scrollLeft()を使ってプログラムで自動的にスクロールさせる方法を紹介します。

.scrollTop().scrollLeft()は引数無しで利用すると、スクロール位置の取得の機能となりますが、引数で数値を指定することで、その値のスクロール位置までそれぞれ垂直方向・水平方向にスクロールさせることが出来ます。

下記のサンプルコードを見てみましょう。プレビュー欄の200pxや800pxなどのボタンを押してみましょう。

今回ボタンをクリックすると

  • $(window).scrollTop(200);
  • $(window).scrollTop(800);
が実行されるようになっています。この記述により自動的にそれぞれ200px、800pxの位置までスクロールされます。

今回サンプルでは垂直方向のスクロールのやり方ですが、
  • $(window).scrollLeft(200);
  • $(window).scrollLeft(800);
とすることで、水平方向のスクロールを自動的に行う事が出来ます。

GeekHive採用サイト

関連記事