上毛印刷株式会社

【JavaScript】jQueryを使わずスクロールバーをカスタマイズできるプラグイン「OverlayScrollbars」

【JavaScript】jQueryを使わずスクロールバーをカスタマイズできるプラグイン「OverlayScrollbars」

2024年08月28日
WEBサイト制作
  • #HTML
  • #css
  • #JavaScript
  • #tips

こんにちは!
上毛印刷WEB制作担当のソーヤです。

今回は非常に便利なプラグインをご紹介します。

皆さんは経験ありますでしょうか。
デザイナーからデザインカンプが届いて、開いてみると、
スクロールバーにもデザインが入っていることがたま〜にあります。

さて、どうしたものかと悩んでしまうところですが、
そんなコーダーにオススメのプラグイン「OverlayScrollbars」を使うと簡単にスクロールバーのデザインをいじれてしまいます。

◆公式サイト
https://kingsora.github.io/OverlayScrollbars/

実装例

texttexttexttexttexttexttexttexttexttexttext

texttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttext

texttexttexttexttexttexttexttexttexttexttext

texttexttexttexttexttexttexttexttexttexttext
texttexttexttexttexttexttexttexttexttexttext



スクロールバーが赤くなってますね!

HTML例

まず下記コードを<head>内に記述してください。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/2.10.0/styles/overlayscrollbars.min.css">

そうしたら下記コードをjsファイルの手前に記述してください。

<script src="https://cdnjs.cloudflare.com/ajax/libs/overlayscrollbars/2.10.0/browser/overlayscrollbars.browser.es6.min.js"></script>
<div id="js-scroll">
  <div class="content">
    texttexttexttexttexttexttexttexttexttexttext<br><br>
    texttexttexttexttexttexttexttexttexttexttext
    texttexttexttexttexttexttexttexttexttexttext<br><br>
    texttexttexttexttexttexttexttexttexttexttext<br><br><br><br>
    texttexttexttexttexttexttexttexttexttexttext
    texttexttexttexttexttexttexttexttexttexttext<br><br>
  </div>
</div>

CSS例

#js-scroll {
  height: 200px;
  background-color: white;
  border: 1px solid #ccc;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.content {
  height: 500px;
  padding: 10px;
  background-color: #eee;
  white-space: wrap;
}
.os-scrollbar-handle{
  background: red;
}

JavaScript例

var { 
  OverlayScrollbars, 
  ScrollbarsHidingPlugin, 
  SizeObserverPlugin, 
  ClickScrollPlugin  
} = OverlayScrollbarsGlobal;
OverlayScrollbars(document.querySelector('#js-scroll'), {
  className: "os-theme-light",
  resize: "both",
  sizeAutoCapable: true,
  paddingAbsolute: true,
  scrollbars: {
    clickScrolling: true
  },
  overflow: {
  x: 'hidden',
},
});

まとめ

今回もjQueryではなく、Vanilla.jsで実装してみました。

コピペしてガンガン使ってください!

WEB制作担当ソーヤ

ソーヤ

上毛印刷WEB制作担当
前職は東証プライム企業の本社WEB受託チームにてフロントエンドエンジニアを3年経験。


この記事に対するご意見・ご感想・ご質問等ありましたら、
ぜひ下記フォームにてお送りください。

    お名前必須
    メールアドレス必須
    お問い合わせ内容必須
    PAGE TOP