Javascriptでスクロールバーをカスタマイズする方法を現役エンジニアが解説【初心者向け】

初心者向けにJavascriptでスクロールバーをカスタマイズする方法について解説しています。スクロールバーのカスタマイズにはjQueryのプラグインを利用すると便利です。今回はperfect-scrollbar.jsを使ったカスタマイズの方法を紹介します。ぜひ役立ててください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,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 custom content scroller

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のみでスクロールバーのカスタマイズが出来ます。

 

[PR] JavaScript・jQueryで挫折しない学習方法を動画で公開中

実際に書いてみよう(サンプルコードなど)

今回は、簡単に利用できる「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では、初心者でも最短4週間でJavaScript・jQueryを使ったWebサービス公開を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。