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

- お知らせ
- NEW 2025.02.24 【CSS】点線の間隔を調整する方法を解説
- お知らせ
- 2025.01.25 【WordPress】MW WP Form セレクトボックスを必須にする方法
- お知らせ
- 2025.01.25 【WordPress】カスタム投稿カテゴリー取得について
こんな方に読んでほしい
今回は、smooth-scrollについての解説になります。
「smooth-scroll」になりますが、今でも簡単で使いやすいプラグインになっております。
イメージ図は上記のようになります。
「smooth-scroll」とは、ナビゲーションやボタンをクリックすると滑らかな画面スクロールが可能になります。
設定もとても簡単で便利なプラグインの一つになっております。
[記事の内容]
smooth-scrollとは、ページ内スクロール(滑らかな動き)のことを示します。
jQueryが苦手な方でも問題ありません。
まずは下記のサイトから「smooth-scroll」をダウンロードしましょう。
ダウンロード後に必要なファイルについて解説していきます。
まずは、ファイル名の「smooth-scroll-master」をご確認ください。
<!--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は自由になります。
ここで解説したオプションは一部になります。こちらのサイトで他にも解説しております。
今回はこれで以上です。
2025.01.18
2022.05.24
2022.05.10
2022.05.06
2025.02.24
2025.01.25
2025.01.18
2025.01.18
2025.01.13
2025.01.11
2023.06.15
2022.06.30
2020.03.22
2020.03.06
© 2024 shu-naka-blog