ドロップダウン式(縦方向の折り畳み式)のスマホ用メニューを簡単に設置できるスクリプトを作りました。
名称は「スマホメニュースクリプト」としておきます。
今後、私自身がサイトを作る際に使うために作ったので、設定は最低限で済むようにできています。
CSSが理解できる人なら自由にデザインを変更することが可能でしょう。
現在の最新バージョンは2019年4月11日公開の2.0です。
参考ページ:プログラムをアップデートするの際の思想について
各バージョンごとのアップデート内容については、このページ最下部の「アップデート履歴」に記載してあります。
特長
- 設置が簡単。設定用のファイルなし。
- いくつでもメニュー項目を増やすことが可能。
- デザインはすべてCSSで自由に変更可能です。
- 動作に必要なのはjQuery本体とsp-menu.jsだけ。
スマホメニュースクリプトのサンプルとダウンロード
スマホメニュースクリプトのサンプル
初期状態ではスマホだけでなくPC表示の際にもドロップダウン式のメニューが表示されます。
スマホだけに適用したい場合は後述の「スマホだけに適用する方法」を参考にしてください。
スマホメニュースクリプトのダウンロード
最新バージョンがダウンロードできます。
使い方の説明
まず、動作確認のために以下の作業から順番に確認していくと間違いがないでしょう。
1、スマホメニュースクリプトをダウンロードし、展開する。
2、フォルダごとサーバにアップロードする。
3、ブラウザでindex.htmlにアクセスし、動作を確認する。
既存サイトへの組み込み方法
以下の作業は同梱のindex.htmlのソースからコピーしていくと間違いがないでしょう。
4、組み込みたいページにメニューを用意する。
その要素にはmenuというid名を付けてください。
バージョン2.0からはul要素以外でも動作するようになりました。
<ul id="menu">
<li><a href="ここにページ1のURL">ページ1</a></li>
<li><a href="ここにページ2のURL">ページ2</a></li>
<li><a href="ここにページ3のURL">ページ3</a></li>
<li><a href="ここにページ4のURL">ページ4</a></li>
<li><a href="ここにページ5のURL">ページ5</a></li>
<li><a href="ここにページ6のURL">ページ6</a></li>
</ul>
5、ページ内のどこかに以下のコードを貼り付ける。
このコードが3本線のメニューアイコンになります。
上記手順4のid=”menu”の要素はCSSで非表示にしているので、その中以外の場所ならどこでもOKです。
<div id="sp-icon" class="sp-close"><span></span></div>
6、sp-menu.cssを読み込ませる。
このsp-menu.cssの設置場所はどこでも構いません。
サーバ上にすでにcssという名前のフォルダが存在しているのなら、その中に移動させても問題ありません。
<link rel="stylesheet" href="css/sp-menu.css" />
7、jQuery本体とsp-menu.jsを読み込ませる。
このsp-menu.jsの設置場所もどこでも構いません。
サーバ上にすでにjsという名前のフォルダが存在しているのなら、その中に移動させても問題ありません。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script src="js/sp-menu.js"></script>
組み込み作業は以上です。
スマホ表示の時だけこのメニューを適用する方法
8、スマホ表示の時だけこのドロップダウンメニューを適用したい場合は、上記手順6のコードを以下のように変更すればOKです。
このmax-widthの意味が理解できる方は、640pxの値を適宜変更しても問題ありません。
<link rel="stylesheet" href="css/sp-menu.css" media="screen and ( max-width:640px )" />
メニューのデザインを変更する方法
メニューのデザインを変更したい場合は、上記手順の4で設置したid=”menu”の要素に対してCSSで自由に変更してください。
PCとスマホでメニューのデザインをそれぞれ別のものにしたい場合は、上記手順8のコードの前後あたりに以下のコードを記述し、pc-menu.cssにPC用のデザイン設定をしてください。
<link rel="stylesheet" href="css/pc-menu.css" media="screen and ( min-width:641px )" />
レスポンシブのブレイクポイントの仕組みがわかる人は簡単にできるでしょう。
この「スマホメニュースクリプト」は、CSSをどのように編集したとしても動作エラーの原因にはなりませんので、自由にCSSでデザインしてください。
上記手順5の<div id=”sp-icon” class=”sp-close”>が画面上に表示されており、クリックすれば動作する仕組みになっています。
つまり、PC表示の際にはこのメニューアイコンをCSSで非表示にしてしまえば、動作することはありません。
(実際には空のdivなので、CSSで非表示にしなくてもページ上には表示されません)
注意点
サポートに関して
カスタマイズに関して
ご希望のカスタマイズがありましたら、お問い合わせページからご依頼ください。
アップデート履歴
- 2018/07/17 バージョン1.0
-
- 公開。
- 2018/07/19 バージョン1.1
-
- バグを修正。
- 2019/04/11 バージョン2.0
-
- メニュー出現の演出を変更しました。
- メニューがul要素以外でも動作するようになりました。
- 既存サイトへの組み込みやカスタマイズしやすいよう、不要な処理を減らしました。
- メニューアイコンのdivに別のクラス名が付いていても正常動作するようになりました。
- メニューが閉じている時と開いた時のクラス名を直感的にイメージしやすいように逆にしました。(閉じている時がsp-close)