【jQuery mousewheel】マウスホイールで横スクロール処理を簡単に実装【余韻付き】

jQuery・JS

2020.11.11

横スクロールバーを多様したデザインのコーディングをする機会があったので、どうせならマウスホイールで横スクロールできたほうが使いやすいかなぁと思って実装したときの備忘録です。
横スクロールの実装には「jQuery mousewheel」を使用しました。

横スクロールについて調べると、ほとんどがページ全体(body)を紙芝居のように横にスクロールさせるやり方でしたが、自分がやりたかったのはリスト(ul・li)の横スクロールだったので、いろいろ参考にさせてもらいながら作りました。

「jQuery mousewheel」プラグインの準備

まずは以下のページから「jQuery mousewheel」プラグインをダウンロードして、ヘッダ内に読み込みます。
https://github.com/jquery/jquery-mousewheel
※jQueryなので、もちろん別途「jquery.js」の読み込みも必要です。

マウスホイールで横スクロール処理の実装方法

htmlのコード例:横スクロールさせたいリスト(ul・li)

このリストがブラウザの横幅より短いと当然ですが横スクロールは発生しません。

 

 

横スクロールのcss(スクロールバーのカスタマイズなど)

このcssを適用した時点で横スクロールバーが表示されて、横スクロール自体は可能となります。

 

jQuery mousewheelの実装コード

横スクロールさせるための最も単純なコードだと思います。

 

おまけ1:スクロールの余韻付きバージョン

おまけとして、スクロールの余韻を残すアニメーション(26行目~36行目)を入れたバージョン。

 

おまけ2:横スクロールの終端に来たら、縦スクロールに切り替えるバージョン

おまけ1の余韻バージョンに加えて、横スクロールの終端まで来たら、縦スクロールに切り替える処理を入れています。

 

参考にさせていただいたサイト

https://sterfield.co.jp/designer/%E6%A8%AA%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3%82%92%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%A7%E3%81%8D%E3%82%8B%E3%80%8Cjquery-mousewheel%E3%80%8D%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6/
https://www.webopixel.net/javascript/435.html