今回は【jQuery】ページ内スクロールを実装しよう、smooth-scrollの使い方!!の解説になります!
こんな方に読んでほしい
- jQueryを学び始めた方へ
- プラグインのsmooth-scrollを使ってページ内スクロールを実装したい方向け
- 今回はsmooth-scrollについて解説しております。
今回は、smooth-scrollについての解説になります。
「smooth-scroll」になりますが、今でも簡単で使いやすいプラグインになっております。
イメージ図は上記のようになります。
「smooth-scroll」とは、ナビゲーションやボタンをクリックすると滑らかな画面スクロールが可能になります。
設定もとても簡単で便利なプラグインの一つになっております。
smooth-scrollについて
smooth-scrollとは、ページ内スクロール(滑らかな動き)のことを示します。
jQueryが苦手な方でも問題ありません。
まずは下記のサイトから「smooth-scroll」をダウンロードしましょう。
必要なファイルについて
ダウンロード後に必要なファイルについて解説していきます。
まずは、ファイル名の「smooth-scroll-master」をご確認ください。
- ●cssファイル
- 1「dist」 > 「smooth-scroll.min.js」の1点を使用します。
<!--js-->
<script src="js/smooth-scroll.min.js" type="text/javascript"></script>
また、「smooth-scroll.min」を使用する際には、smooth-scrollを使用する宣言をしなければなりません。
以下のコードを合わせて指定しましょう。
<!--js-->
<script src="js/smooth-scroll.min.js" type="text/javascript"></script>
<script>
var scroll = new SmoothScroll('a[href*="#"]');
</script>
「smooth-scroll.min.js」と繋げて記述するのが良いでしょう。
また、ファイルの階層は、ご自身のフォルダに合わせてください。
次に、jquery本体のプラグイン設置します。
今回は2つ目のパターンを採用して解説します。
● 1つ目は、ファイルをダウンロードして使用するパターン、
● 2つ目は、ファイルをダウンロードせずに、「URL」から読み込むパターンになります。
どちらでも問題ありません。
<!--js-->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="js/smooth-scroll.min.js" type="text/javascript"></script>
<script>
var scroll = new SmoothScroll('a[href*="#"]');
</script>
必ず、jquery本体のプラグイン上、smooth-scrollを下に設置しましょう。
jqueryをダウンロードしたい方は、こちらのリンクから。
記述場所について
基本的にはbody
内に指定するようにしましょう。
基本構造の書き方は以下のようになります。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>【jQuery】ページ内スクロールを実装しよう....</title>
<!--css-->
<link rel="stylesheet" href="css/superbox.css">
</head>
<body>
コンテンツが入ります。
<!--js-->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="js/smooth-scroll.min.js" type="text/javascript"></script>
<script>
var scroll = new SmoothScroll('a[href*="#"]');
</script>
</body>
</html>
ページ内スクロールの設定について
次に、ページ内スクロールの設定について解説します。
今回はheader
を固定させ、ナビゲーションをクリック後、コンテンツまでスクロールさせます。
ページ内スクロール
デモサイトはコチラから。
ページ内スクロールになります。
基本構造の書き方は以下のようになります。
ページ内スクロール

<header>
<nav>
<ul>
<li><a href="#contents01">Navi01</a></li>
<li><a href="#contents02">Navi02</a></li>
<li><a href="#contents03">Navi03</a></li>
<li><a href="#contents04">Navi04</a></li>
</ul>
</nav>
</header>
<div class="inner">
<!--スクロール実装-->
<p class="txt">スクロール実装</p>
<div id="contents01" class="box">CONTENTS 01</div>
<div id="contents02" class="box">CONTENTS 02</div>
<div id="contents03" class="box">CONTENTS 03</div>
<div id="contents04" class="box">CONTENTS 04</div>
</div><!--inner END--></div><!--inner END-->
/*--CSSは基本自由です--*/
header {
width: 100%;
height: 50px;
margin: auto 0;
position: fixed;
top:0;
left:0;
background:rgba(0,0,0,0.5);
}
header nav ul {
display: flex;
justify-content: center;
}
header nav ul li {
font-size: .9rem;
margin: 0 1em;
}
header nav ul li a {
padding: 0 1em;
color: #fff;
display: block;
line-height: 50px;
}
header nav ul li a:hover {
background-color: #fff;
color: #333;
}
.box {
padding: 10em;
margin-bottom: 3em;
box-sizing: border-box;
text-align: center;
}
#contents01 {background-color: #FD6158;}
#contents02 {background-color: #FEBE3E;}
#contents03 {background-color: #1ECE50;}
#contents04 {background-color: #cccccc;}
var scroll = new SmoothScroll('a[href*="#"]', {
speed: 500, //スクロールする速さを指定
header: 'header' //固定したい要素がある場合
});
a href="#id名"
と、コンテンツのid="#id名"
は必須になってきます。
基本CSSは自由になります。
オプションについて
ここで解説したオプションは一部になります。こちらのサイトで他にも解説しております。
まとめ
今回はこれで以上です。
- POINT
- smooth-scrollとは、ページ内スクロール(滑らかな動き)のことを示します。
- 必要なファイルはsmooth-scroll.min.jsの1点になります。
- オプションを試してみてください。
- こちらにデモサイトを用意しました。
スポンサーリンク

SHU
1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。
最新記事
関連記事