jQuery Web制作

【jQuery】スクロール開始でイベントを発火させる方法

※ 当サイトではアフィリエイト広告を利用しています

ページトップではページトップに戻るボタンは表示させたくないけど、スクロール始めたら表示させたい時はどうすればいい?

今回はページトップボタンを例に解説しますが、ページトップでの処理とページトップ以外(スクロールした時)の処理について解説します。

つまり表示非表示以外にも使えるので、覚えておくと便利かと思います。

 

コーディングの時給と作業効率を上げる!
2年間の実務で実際に使ったコードをまとめた『コーディング&WordPressメモまとめ集』をBrainで公開しています。
  • コピペで使えるWordPressの各テンプレート
  • 実務でよく使う見出し一覧
  • 実務でよく使うテキストのhoverアニメーション
  • 実務でよく使うボタン内の矢印9種類
  • Contact Form 7の色々・・・
などなど、他にもコピペで使えるコードがたくさん載せてあるので、時短=時給アップに繋がります。
さらに『コードのまとめ方が参考になった』というレビューも多数頂いているので、これを元に自分なりの"メモまとめ集"を作るという使い方も出来ます。
1,100部以上販売し、レビューは630件以上あるので、気になる方は以下のボタンからチェックしてみて下さい👇

1,100部突破🎉

商品ページはこちら!

2024年4月15日値上げ!

jQueryを使ったスクロール開始でイベントを発火させる方法

今回はjQueryを使うので、jQuery本体の読み込みを忘れないようにしましょう。

jQueryを使ったことがない人はこちらの記事を参照下さい。

あわせて読みたい
【初心者向け】jQueryとは?CDNを使った本体の読み込み方についても分かりやすく解説
【初心者向け】jQueryとは?CDNを使った本体の読み込み方も分かりやすく解説

続きを見る

早速ですが、今回のポイントとなるjQueryの基本となるコードを見てみます。

$(function () {
  $(window).on("scroll", function () {
    if ($(this).scrollTop() > 0) {
      // ページトップ以外の処理
    } else {
      // ページトップの処理
    }
  });
});

今回の、

  • ページトップではページトップに戻るボタンを非表示
  • スクロール開始したらページトップに戻るボタンを表示

の場合は以下のようになります。

$(function () {
  $(window).on("scroll", function () {
    if ($(this).scrollTop() > 0) {
      // ページトップ以外の処理
      $(".js-page-top").fadeIn(400);
    } else {
      // ページトップの処理
      $(".js-page-top").fadeOut(400);
    }
  });
});

.js-page-topはボタンのclass名で、ページトップ以外ではfadeIn(400)でゆっくり表示、ページトップではfadeOut(400)でゆっくり非表示にします。

400という数字はアニメーションのスピードで、大きくするほどゆっくりになります。

また、ページを開いた時点ではボタンは非表示にしておくので、CSSで以下のようにボタンを非表示にします。

/* 最初はページトップボタン非表示 */
.page-top {
  display: none;
}

.page-topもボタンのclass名です。

こちらがデモになります。

See the Pen
ページトップとそれ以外の処理
by junpei (@junpei-sugiyama)
on CodePen.

『最初はボタン非表示 → スクロール開始したらボタン表示 → ページトップに戻ったらボタン非表示』となります。

 

ある程度スクロールしてからイベントを発火させる場合

先ほどの例ではほんの少しでもスクロールしたらイベントが発火されました。

それはscrollTop() > 0が0になっているからで、例えばここの数値を200にしたら200pxスクロールしたら処理となります。

またページトップに戻る時はページトップから200pxより上になったら非表示になります。

こちらがデモになります。

See the Pen
ページトップとそれ以外の処理(少しスクロールしてから)
by junpei (@junpei-sugiyama)
on CodePen.

以上になります。

Web制作おすすめ教材と案件獲得サービス
当ブログではWeb制作学習におすすめの教材を厳選してご紹介しています。
こちらの記事を参考に教材を購入して成果を出している人もたくさんいるので、自分に必要な教材を探してみて下さい。
また、学習面だけでなく営業面である案件獲得サービスもご紹介しています。
スキルが身についても仕事がなければ意味がないので、営業に不安がある人はこちらの記事をぜひ参考にしてみて下さい。
この記事を参考にスキルと営業力を身につけて稼げるようになりましょう!

-jQuery, Web制作