紙芝居のようにスクロールできる”StickyStack.js”の使い方
スクロールをコントロールしてパララックス効果を持たせることができるjQueryのプラグイン「StickyStack.js」の使い方を紹介します。
「StickyStack.js」ではコンテナ要素の中にいくつかのスタッキング要素を配置すると、スクロールした時にスタッキング要素が固定されて表示されるので、下からスクロールアップしてくる要素が上に重なっていくような視覚効果を実現することができます。
参考サイト:
「StickyStack.js」デモサイト
「StickyStack.js」ダウンロード
「StickyStack.js」の設置手順
「StickyStack.js」の設置手順は、
① jQueryを読み込ませる
②「StickyStack.js」を読み込ませる
③ 要素の記述を行い実行させる
となります。
それぞれについて、説明していきます。
①jQueryを読み込ませる
CDNを利用するなどしてjQueryを読み込ませます。
CDNを利用する場合の例
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
jQueryを読み込ませる方法について詳しくは下記の記事で紹介しています。
jQueryをWebページに読み込ませる方法
jQueryをWebページに読み込ませる方法について、ダウンロードしてサイトに設置する場合とCDNを利用する場合それぞれの方法を紹介していきます。
②「StickyStack.js」を読み込ませる
「jquery.stickystack.min.js」または「jquery.stickystack.js」をダウンロードしてサイトに設置し、読み込ませます。
ダウンロード:「StickyStack.js」のGitHubページ
HTML
<script src="path-to/jquery.stickystack.min.js"></script>
③要素の記述を行い実行させる
htmlにコンテナ要素とスタッキング要素を設置してcssで整え、「StickyStack.js」を実行させる記述をします。
コンテナ要素にクラス名「main-content-wrapper」をつけて、スタッキング要素をそれぞれ「section」で囲って設置すると、「StickyStack.js」を実行させるときの記述が下のように簡単な記述ですみます。
スタッキング要素を「section」以外で囲いたいときの記述例は後ほど紹介します。
・htmlへの要素の設置
HTML
<div class="main-content-wrapper"> <!-- コンテナ要素 --> <section></section> <!-- スタッキング要素を必要な数だけ設置 --> <section></section> <section></section> <section></section> </div>
・「StickyStack.js」を実行させる記述
JavaScript
$('.main-content-wrapper').stickyStack();
「StickyStack.js」の設置例
デフォルト(section)でのスタッキング要素の設置
スタッキング要素を「section」で囲み、クラス名「main-content-wrapper」のコンテナ要素の中に設置した場合には「$(‘.main-content-wrapper’).stickyStack();」という記述だけで「StickyStack.js」を実行させることができます。
See the Pen
wvaRZdZ by saku (@web-saku)
on CodePen.
デフォルト(section)以外でのスタッキング要素の設置
スタッキング要素を「section」以外の要素で囲んだ場合でも、実行時にオプション設定で「stackingElement: ‘.page’」のように要素名やクラス名などでスタッキング要素を指定することで「StickyStack.js」を動作させることができます。
See the Pen
yLNGrLB by saku (@web-saku)
on CodePen.
オプション設定
「StickyStack.js」では、実行時にオプション設定として下の例のように「containerElement」「stackingElement」「boxShadow」を設定することができます。
・「StickyStack.js」をオプション設定付きで実行させる記述
JavaScript
$('.main-content-wrapper').stickyStack({ containerElement: '.main-content-wrapper', stackingElement: 'section', boxShadow: '0 -3px 20px rgba(0, 0, 0, 0.25)' });
「containerElement」 | スタッキング要素を囲む要素のクラス名などを設定します。 デフォルトでは「.main-content-wrapper」となっているので、変更したい場合にはここで設定します。 |
「stackingElement」 | 表示を固定させるスタッキング要素のクラス名などを設定します。 デフォルトでは「section」となっているので、変更したい場合にはここで設定します。 |
「boxShadow」 | スタッキング要素につけるboxshadowを設定します。 デフォルトでboxshadowがつくようになっているので、付けたくない場合には、「boxShadow: ‘none’」と指定することでboxshadowなしにできます。 |
まとめ
以上、「StickyStack.js」の使い方について紹介してきました。
参考になりましたら幸いです。
関連記事
CSSのposition: sticky;を徹底解説!スクロールで要素を固定・追従させる魔法の指定
CSSのposition: sticky;プロパティの基本的な使い方から、ヘッダーやサイドバーをスクロール追従させる具体的な使用例まで、初心者にも分かりやすく解説します。stickyが効かない時の対処法も紹介。
高機能なスライダーを設置できる”Swiper”の使い方
“Swiper”を利用することで、色々なエフェクトのついたスライダーを簡単に実装したり、ブレイクポイントを設定してレスポンシブなスライダー表示にも対応させることができます。 今回は”Swiper”について設置の方法から設定方法、簡単なカスタマイズ例まで紹介していきます。
コメントを残す