スマホサイトのメニューをフッター固定のスライド式に変更しました!

Author: ウェブさえ |
2018年11月21日
カテゴリー ツール
本ページに記載の商品・サービスはプロモーションを含みます。
B!

スマホサイトのメニューをフッターに固定

スマホサイトのメニューを改善しました。フッター固定で、こんな感じに。

目次』をタップするとカテゴリ一覧がするりーんとスライドして顔を出します。『 人気記事』の方はいま推しの記事10本へリンクします。

フッター固定のメニューの挙動

なんだか見た目がアプリっぽくていい感じ。嬉しくて自分でもタップタップ♪しちゃいます。前よりも色々な記事を読んでもらいやすくなったかな。

実装方法はそれほど難しくなかったです。流れを振り返りながら、利用した技術も紹介してみたいと思います。WordPressへ実装したので、それを前提にどうぞ。

ウェブさえプロフィール画像

著者情報:この記事を書いた人

ウェブさえ x facebook 株式会社ウェブさえ 著者のプロフィール

web業界14年目。フリーランスwebデザイナーとして活動後、法人化。今でも年間100件以上のウェブサイトの企画・制作に関わっています。

ワイヤーフレーム

pentotypeでワイヤーフレーム

ワイヤーフレームというと大げさですが、最初にいちおう目指すところをザザザと下書きしました。

ワイヤーフレームに関して、詳しく知りたい方は以下の記事を御覧ください。

縦にスライド MeanMenu

meanMenuの挙動

今まではメニューをヘッダーに置いてました。使ってたのは「MeanMenu」というjQueryのプラグインです。縦にスライドしてメニューが現れます。これはこれで簡単に実装できるのでおすすめです。

横にスライド Sidr

sidr

MeanMenuを止めて、今回から利用したのは「sidr」です。簡単に使い方を説明しておきます。

要jQueryなので最初に読込んでおきます。

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

続いて、Sidrをダウンロードすると同梱されているcssとjsファイルを読込む記述を。環境によってファイルパスを書き直してください。

<link rel="stylesheet" href="jquery.sidr.dark.css" />
<script src="jquery.sidr.min.js"></script>

タップする用のリンクと、スライドで現れるメニューはこんなふうに記述します。

<!--タップするリンク -->
<a id="simple-menu" href="#sidr">メニュー</a>

<!-- 開くメニュー -->
<div id="sidr">
	<ul>
	<li><a href="#">リスト1</a></li>
	<li><a href="#">リスト2</a></li>
	<li><a href="#">リスト3</a></li>
	</ul>
</div>

<!-- メニューを開く命令 -->
<script>
	jQuery(document).ready(function() {
		jQuery('#simple-menu').sidr();
	});
</script>

これでOK。デフォルトでは左からのスライドを右にも変更できます。複数のメニューを設置することも可能です。詳しくは公式サイトへ。

アイコンフォント Fontello

アイコンフォントを使用

メニューのアイコンは画像を使わずアイコンフォントを利用しました。Fontelloは、使うアイコンだけを選んでダウンロードできるのが便利です。

fontelloの使い方

ダウンロード後の使い方は以下のサイトが詳しいです。

もし、難しければプラグインを使うという手もあります。WordPressならではですね。詳しい記事を見つけました。

メニューをフッターに固定

フッターに固定する方法は以下のリンク先が参考になります。が、自分の場合はどれも使わずcssで「position: fixed; bottom: 0;」を指定するだけで済みました。

スマホだけに表示

スマホ以外は非表示

メニューをPCに表示したくなかったので、その振り分けをしました。

WordPressには、PCとモバイルを分ける条件分岐タグが用意されています。それを使えばPCとモバイルで表示内容を分けられます。

<?php if (wp_is_mobile()) :?>
モバイルに見せるコンテンツを記述
<?php else: ?>
PCに見せるコンテンツを記述
<?php endif; ?>

でも、これはiPadがモバイルに含まれています。今回のメニューはスマホだけに表示したかったので、テーマのfunction.phpに以下の記述をして、is_mobile()という関数を作りました。

function is_mobile(){
    $useragents = array(
        'iPhone', // iPhone
        'iPod', // iPod touch
        'Android', // 1.5+ Android
        'dream', // Pre 1.5 Android
        'CUPCAKE', // 1.5+ Android
        'blackberry9500', // Storm
        'blackberry9530', // Storm
        'blackberry9520', // Storm v2
        'blackberry9550', // Storm v2
        'blackberry9800', // Torch
        'webOS', // Palm Pre Experimental
        'incognito', // Other iPhone browser
        'webmate' // Other iPhone browser
    );
    $pattern = '/'.implode('|', $useragents).'/i';
    return preg_match($pattern, $_SERVER['HTTP_USER_AGENT']);
}

これを使ってテーマへ記述。

<?php if (is_mobile()) :?>
モバイルに見せるコンテンツを記述
<?php else: ?>
PCに見せるコンテンツを記述
<?php endif; ?>

以上!

フッター固定のメニューを実装できました。あとでここに二つほどボタンを増やす予定です。
それができればまた記事にしたいと思います。続編を書きました! まとめてどうぞ。

ほな、ごゆるりと〜

読み終わったらシェア!

B!

ウェブさえの無料サービス

どちらでもお好きな方を。もちろん両方でも。

ダウンロード
Top
ウェブさえ
@websae2012
ウェブさえマガジン
>詳しくはこちら