スクロールすると変化するコンテンツを設置する jQueryプラグイン「parallax」の紹介

2020年11月27日にコードの全面的な改変を行いました。以前のコードとの互換性はありませんので、再度以下の解説を確認してください。

縦長のペライチサイトが流行っていますが、最近ではスクロールに合わせてコンテンツが変化する「パララックス効果」のあるサイトも増えています。

「JS パララックス効果」で検索するといろいろなJavascriptが見つかるかと思いますが、シンプルに設置できるjQueryプラグインを書きましたので紹介します。

  1. デモ
  2. 設置方法

1.デモ

「parallax」デモページ

こんな感じでスクロールに合わせて表示されたり、移動したりするコンテンツを簡単に設置できます。

「上に戻るボタン」や「画面上に固定されるグローバルメニュー」などをスクロールに連動させて表示させたい場合にも使えるかと思います。

2.設置方法

手順1 「parallax」ファイルのダウンロード

以下のリンクをクリックし「parallax」のスクリプトをダウンロードしてください。
「parallax」のダウンロード

手順2「parallax」ファイルの配置

ダウンロードした圧縮ファイルを展開し、「dist」フォルダ内の「parallax.js」ファイルをローカルサイトフォルダの「js」フォルダ内に配置してください。

手順3 スクリプト読み込みコードの記述

以下のコードをパララックス効果を設定したいページの<head>タグ内に記述してください。

(1) jQueryを読み込みます。

※すでにjQuery本体を読み込み済みの場合には、この作業は不要です。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

(2) 「parallax.js」ファイルを読み込みます。

<script src="js/parallax.js"></script>

手順4 スクロール時アニメーションのタグ指定

スクロール時にアニメーションをしてほしいタグに「data-scroll-on」属性を追記します。

<section data-scroll-on>内容</section>

手順5 スクロール前と後のCSSを用意

スクロール前とスクロール後のCSSを記述します。今回の例では、非表示になっているdiv要素を表示したいので、opacityプロパティを使います。

スクロール前

適宜デザインを入れたスタイルに追加で「opacity:0」を指定し透明にしておきます。

section {
 opacity: 0;
}

スクロール後

「.on」というクラス名を追加したセレクタを作り、「opacity:1」で表示します。
※間に半角スペースを入れない!

section.on {
 opacity: 1;
}

これで、スクロールに合わせて表示されるコンテンツが設置できます。

3.便利な使い方

「data-scroll-on」属性に数値を指定することでタイミングを微調整できます。
0.5を基準に好みで0.2(早めに変化)や0.7(遅めに変化)ぐらいを利用してみてください。※初期値は0.3

対象のコンテンツが画面中央まで来たら変化するデモ

(1) 対象のコンテンツが画面中央に来たら変化(data-scroll-on=”0.5″)

<section data-scroll-on="0.5">内容</section>

(2) 対象のコンテンツが画面に入った瞬間に変化(data-scroll-on=”0″)

<section data-scroll-on="0">内容</section>

また、変化させたい要素に「~pxまでスクロールされたら変化して」という記述も可能です。
例として、クラス名で「circle」と名付けたdivを400pxスクロールした時点で表示する場合の記述を紹介します。
「400pxスクロールすると表示されるデモ」

対象のタグに「data-scroll-on」属性にスクロール量を指定します。
※pxの単位は必要ありません。

<section data-scroll-on="400">内容</section>

4.様々な変化

このjQueryプラグインは、『指定したスクロール量に達すると、対象のタグにクラス名「.on」を追加する』だけのスクリプトです。

なので、「.on」を追加したセレクタに変化後のCSSを記述すればOKです。表示・非表示だけではなく、うまくスタイルを組めばサイズや色の変化、移動も可能です。
「様々に変化するデモ」

デモページを参考に、ぜひいろいろ試してみてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です