今回は【jQuery】スクロールしてもついてくる要素、Sticky-kitの使い方!
の解説になります!
こんな方に読んでほしい
- jQueryを学び始めた方へ
- プラグインのsticky-kit.jsを使ってスクロールしてもついてくる要素を作成したい方向け
- 今回はsticky-kit.jsについて解説しております。
今回は、スクロールしてもついてくる要素についての解説になります。
「sticky-kit.js」になりますが、今でも簡単で使いやすいプラグインになっております。
イメージ図は上記のようになります。ブロブサイトなどでよく使われる技術ですね。
メインコンテンをスクロールする際に、サイドコンテンツのエリアがついてくるイメージです。
下記のリンク先が公式サイトになります。
Sticky公式サイトはこちらから
Stickyについて
sticky-kit.jsとは、スクロールしてもついてくる要素のことを示します。
jQueryが苦手な方でも問題ありません。
まずは下記のサイトから「sticky-kit.js」をダウンロードしましょう。
必要なファイルについて
ダウンロード後に必要なファイルについて解説していきます。
まずは、ファイル名の「sticky-kit-master」をご確認ください。
- ●jsファイル
- 1「dist」 > 「sticky-kit.js」の1点を使用します。
<!--js-->
<script src="js/sticky-kit.js" type="text/javascript"></script>
また、「sticky-kit.js」を使用する際には、stickyを使用する宣言をしなければなりません。
以下のコードを合わせて指定しましょう。
<!--js-->
<script src="js/sticky-kit.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
return $("[data-sticky_column]").stick_in_parent({
parent: "[data-sticky_parent]"
});
});
</script>
「sticky-kit.js」と繋げて記述するのが良いでしょう。
また、ファイルの階層は、ご自身のフォルダに合わせてください。
次に、jquery本体のプラグイン設置します。
今回は2つ目のパターンを採用して解説します。
● 1つ目は、ファイルをダウンロードして使用するパターン、
● 2つ目は、ファイルをダウンロードせずに、「URL」から読み込むパターンになります。
どちらでも問題ありません。
<!--js-->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="js/sticky-kit.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
return $("[data-sticky_column]").stick_in_parent({
parent: "[data-sticky_parent]"
});
});
</script>
必ず、jquery本体のプラグイン上、stickyを下に設置しましょう。
jqueryをダウンロードしたい方は、こちらのリンクから。
記述場所について
基本的にはbody
内に指定するようにしましょう。
基本構造の書き方は以下のようになります。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title> 【jQuery】スクロールしても...</title>
</head>
<body>
コンテンツが入ります。
<!--js-->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="js/sticky-kit.js" type="text/javascript"></script>
<script>
$(document).ready(function() {
return $("[data-sticky_column]").stick_in_parent({
parent: "[data-sticky_parent]"
});
});
</script>
</body>
</html>
ついてくる要素の設定について
次に、ついてくる要素の設定について解説します。
ついてくる要素の設定について
デモサイトはコチラから。
基本構造の書き方は以下のようになります。
ついてくる要素の設定
<header>Header</header>
<div id="main-contents" class="di-fl" data-sticky_parent>
<div id="main">Main</div>
<div id="aside" class="sticky" data-sticky_column>Aside<br>固定します。</div>
</div>
/*--CSSは自由に変更可--*/
/*--コンテンツ部分--*/
#main-contents {
width: 1000px;
margin: 0 auto;
overflow: hidden;
padding: 5em;
box-sizing: border-box;
background: #f2f4f6;
}
#main {
width: 70%;
height: 800px;
color: #fff;
background-color: #24422b;
padding: 5em;
box-sizing: border-box;
font-size: 3rem;
float: left;
}
/*--サイド要素(固定)--*/
#aside {
width: 25%;
height: 200px;
background-color: #fd6158;
padding: 1em;
box-sizing: border-box;
font-size: 2rem;
float: right;
}
$(document).ready(function() {
return $("[data-sticky_column]").stick_in_parent({
parent: "[data-sticky_parent]"
});
});
親要素は、data-sticky_column
を指定します。
ここは、return $("[data-sticky_column]")
と同じ値にするようにしましょう。
固定する要素は、data-sticky_parent
を指定します。
ここは、parent: "[data-sticky_parent]"
と同じ値にするようにしましょう。
POINT!
「#main」、「#aside」を横並びにする際には、floatを採用しております。
display: flex
を採用した場合は、うまく動かない場合があります。
floatを採用した方が安定して問題なく動きます。
関連記事
footerを固定
Sticky Footerとは、ウィンドウの最下部にfooterを固定させてくれます。
まとめ
今回はこれで以上です。
- POINT
- Sticky-kitとは、スクロールしてもついてくる要素のことを示します。
- 必要なファイルはsticky-kit.jsの1点になります。
- floatを採用した方が安定して問題なく動きます。
- こちらにデモサイトを用意しました。
- Sticky公式サイトはこちらから
スポンサーリンク
SHU
1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。
最新記事
関連記事