SHU BLOG

BLOG NEWS ブログ

TITLE

【jQuery】ページ内スクロールを実装しよう、smooth-scrollの使い方!!

SHU[シュウ]

1991年生まれ九州の宮崎県育ち
高校卒業後、愛知県で自動車関係の
お仕事に5年間勤め、WEB業界に
転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画
基本インドアです!笑

シュウ
シュウ
今回は【jQuery】ページ内スクロールを実装しよう、smooth-scrollの使い方!!の解説になります!

こんな方に読んでほしい

  • jQueryを学び始めた方へ
  • プラグインのsmooth-scrollを使ってページ内スクロールを実装したい方向け
  • 今回はsmooth-scrollについて解説しております。

今回は、smooth-scrollについての解説になります。
smooth-scroll」になりますが、今でも簡単で使いやすいプラグインになっております。

イメージ図は上記のようになります。
「smooth-scroll」とは、ナビゲーションやボタンをクリックすると滑らかな画面スクロールが可能になります。
設定もとても簡単で便利なプラグインの一つになっております。

smooth-scrollについて

smooth-scroll

smooth-scrollとは、ページ内スクロール(滑らかな動き)のことを示します。
jQueryが苦手な方でも問題ありません。
まずは下記のサイトから「smooth-scroll」をダウンロードしましょう。

smooth-scrollにアクセス
1https://github.com/cferdinandi/smooth-scroll
「Code」ボタンをクリック
2
「Download ZIP」ボタンをクリック
3

必要なファイルについて

ダウンロード後に必要なファイルについて解説していきます。
まずは、ファイル名の「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は自由になります。

オプションについて

指定できる値
  • speed
    ページ内スクロールのスピードになります。
    数値が小さいほど遅く、数値が大きいほど早くなります。
  • header
    固定する場合に設定します。
    今回は「header」を指定したことにより、ヘッダーとコンテンツが被るのを防いでいます。

ここで解説したオプションは一部になります。こちらのサイトで他にも解説しております。

まとめ

今回はこれで以上です。

POINT
  • smooth-scrollとは、ページ内スクロール(滑らかな動き)のことを示します。
  • 必要なファイルはsmooth-scroll.min.jsの1点になります。
  • オプションを試してみてください。
  • こちらにデモサイトを用意しました。
スポンサーリンク

SHU

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

最新記事

関連記事

オススメ記事

月別アーカイブ

Portfolio

page_top