Javascriptでスクロールバーをカスタマイズする方法を現役エンジニアが解説【初心者向け】
初心者向けにJavascriptでスクロールバーをカスタマイズする方法について解説しています。スクロールバーのカスタマイズにはjQueryのプラグインを利用すると便利です。今回はperfect-scrollbar.jsを使ったカスタマイズの方法を紹介します。ぜひ役立ててください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Javascriptでスクロールバーをカスタマイズする方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
そもそもJavaScriptについてよく分からないという方は、JavaScriptとは何なのかについて解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプJavaScript/jQuery講座の内容をもとにしています。

今回は、JavaScriptに関する内容だね!

どういう内容でしょうか?

スクロールバーをカスタマイズする方法について詳しく説明していくね!

お願いします!
Javascriptでスクロールバーをカスタマイズする方法
HPの作成をしていると、コンテンツ内のスクロールバーがHPのコンセプトに合わないことに悩まされることがあります。そんな時の為に、スクロールバーのカスタマイズ方法をご紹介したいと思います。
幾つかの方法があり、CSSとJavaScriptだけを使った方法もあるのですが、今回は幾つかのプラグインでの方法をご紹介したいと思います。
活用できるjQueryのプラグインの紹介など(malihu、perfect-scrollbar.jsなど)
現在、複数のプラグインなどが用意されています。お好みに合わせて、利用してみて下さい。
■jQuery custom content scroller(malihu)
jQueryを利用し、スクロールバーをカスタマイズ出来ます。
■perfect-scrollbar.js
https://github.com/mdbootstrap/perfect-scrollbar
jQueryを利用せずに、スクロールバーをカスタマイズ出来ます。
■fleXcroll.js
http://www.hesido.com/web.php?page=customscrollbar
jQueryを利用せずに、スクロールバーをカスタマイズ出来ます。
■::-webkit-scrollba
Chromeとsafariのみですが、CSSのみでスクロールバーのカスタマイズが出来ます。
実際に書いてみよう(サンプルコードなど)
今回は、簡単に利用できる「perfect-scrollbar.js」を利用した方法をご紹介します。
初めに、https://github.com/mdbootstrap/perfect-scrollbar
にアクセスして、ダウンロードして下さい。
jsはdist、cssはcssの下にあります。
<!DOCTYPE html>
<meta http-equiv="content-type" charset="utf-8">
<html>
<head>
<title>Javascriptでスクロールバーをカスタマイズする方法</title>
<link rel="stylesheet" href="css/perfect-scrollbar.css" />
<style type="text/css">
.scrollable {
position: relative;
width:400px;
height:400px;
}
.ps__rail-y .ps__thumb-y {
background-color: yellow;
}
</style>
</head>
<body>
<h1>スクロールバーをカスタマイズする方法</h1>
<div class="scrollable">
JavaScript (JS) は軽量で、軽量なインタープリター型、<br>
あるいは実行時コンパイルされる、第一級関数を備えたプログラミング言語です。<br>
ウェブページでよく使用されるスクリプト言語として知られ、<br>
多くの非ブラウザー環境、例えば Node.js や Apache CouchDB や <br>
Adobe Acrobat などでも使用されています。 <br>
JavaScript は プロトタイプベース で、シングルスレッドで、<br>
動的型付けを持ち、そしてオブジェクト指向、命令形、宣言的 (例えば関数プログラミング) <br>
といったスタイルをサポートするマルチパラダイムのスクリプト言語です。<br>
詳しくは JavaScript についてをお読みください。<br>
この章では JavaScript 言語自体について、<br>
すなわちウェブページや他のホスト環境に限定されないコアの部分に限定して<br>
解説しています。<br>
ウェブページ特有の API 群の情報を得たい場合は Web API と DOM を参照してください。<br>
JavaScript の標準仕様は ECMAScript と呼ばれています。<br>
2012年以降、すべてのモダンブラウザーは ECMAScript 5.1 を完全にサポートしています。<br>
過去のブラウザーも、少なくとも ECMAScript 3 はサポートしています。<br>
2015 年 6 月 17 日、ECMA International は ECMAScript の<br>
メジャーバージョン 6 を策定しました。このバージョンは公式には <br>
ECMAScript 2015 と呼ばれていますが、最初は ECMAScript 6 や ES6 と呼ばれます。<br>
それ以降、 ECMAScript 標準は年単位でリリースされています。<br>
このドキュメントは最新のドラフトバージョン、現在は ECMAScript 2020 を参照しています。<br>
JavaScript をプログラミング言語 Java と混同しないでください. <br>
Java と JavaScript は両方ともアメリカやその他の国において<br>
オラクルの商標または登録商標です。<br>
しかし、この 2 つのプログラミング言語は構文、セマンティック、<br>
利用形態が大きく異なります。<br>
</div>
<script src="js/perfect-scrollbar.js"></script>
<script>
var ps = new PerfectScrollbar('.scrollable');
</script>
</body>
</html>
監修してくれたメンター
| 小宮山晃史(こみやまこうじ)
現在はOracle系システムの導入コンサルに勤め、仕事でコーディングをする機会は少なくなくなっているが、ライフワークで数多くの言語を勉強中。 iphoneのアプリ開発やWEBサーバの構築など幅広く挑戦しています。 |

内容分かりやすくて良かったです!

ゆかりちゃんも分からないことがあったら質問してね!

分かりました。ありがとうございます!
TechAcademyでは、初心者でもJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。