「WEBネタ」スマホでありがちなメニューボタンをタップすると横からズリっと出てくるヤツをtwitterブートストラップに組み込む方法

2013-10-12   

iOS7の登場で少し風潮が変わりつつありますが、FacebookとかYoutubeなんかのスマホ版でよく使われているメニューボタンをタップすると、左側からメニューがスライドして現れるやつ。

メジャーサイト・アプリがあれを採用してるので、ユーザーも「あのシマシマのボタン押せばメニューが出るはず」って認識になってるかと思われます。

んで、Twitter Bootstrap2.3ではResponsive navbarを使うことによって、画面幅が狭いとメニューが自動的に「「あのシマシマのボタン」に変わってくれます。が、上からズリっと落ちてくるタイプ。どーせなら、横からズリっと出てくるやつにデフォルトでして欲しいですが・・・

そんなわけでブートストラップをサイドメニューにする方法を探したら、ドンピシャで解説してるポストがありました。すばらしい!!

Bootstrapにサイドメニュー(スライドイン)を追加する方法

このポストをみればたぶん実装できます。

もしできない場合は、セレクタ指定がサンプルと違うのかもしれません。Bootstrapのバージョンとかで多少違うのかも。オレもそのままではできなかったんで各要素にIDを振って実現できました。

具体的には・・・

(1)トリガーとなるボタンの部分にmenu_linkっていうIDを振って

<a id="menu_link" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span></a>
 
(2)開かれるメニューにside_menuってIDを割りふり
 
<div class="nav-collapse collapse " id="side_menu">
 
(3)JSを以下のように
<script type="text/javascript" charset="UTF-8">
$(document).ready(function() {
  $('#menu_link')
    .attr('data-toggle', '')
    .attr('data-target', '')
    .sidr({
      source: '#side_menu'
  });
});
</script>
 
これで完成。
db9Vi9Onhau_9R9N.jpg
 
↑こんなやつがBootstrapに簡単に組み込めます。
 
以上はBootstrap標準のnavbar(画面上のメニュー)を使ったときのやつですが、例えば左側に普通にULでサイドメニューを作ってるときでもSidrを使って、BootstrapのResponsive utility classesを使って.visible-phoneとか.hidden-desktopを使うと実現可能です。
 
これは、ずっと前からやりたくて、ようやく最近実現できたんですが、iOS7でまたまたインターフェースが変わっちゃうっていうw この手法もすでに過去のモノなのかしら?

 

カテゴリ:PC・スマホ・WEBネタ

UNITORO以外の最近の投稿

N/A

twitter

Recent entries

Category

Popular entries 2018

Popular entries 2017

Popular entries 2016