Facebookなどをスマホで閲覧した時に、左上のボタンを押すと、
左からメニューが出てくるのを実装してみたい!
と思ったら、素敵なプラグインがあったのでメモ。
※2015年3月追記
このjSlideMenu-masterはAndroidで動作しないなどの問題があります。
2015年3月現在では↓の記事のSlidebarsのほうをおすすめしています。
>> ドロワー・スライドインメニューでヘッダー固定【デモあり】jquery Slidebarsが最強!drawer slidein menu
ontouch系が使えないのでPCでは動きません。
PC閲覧時は、右のサイドバーにあるQRコードをスマホ実機で読み取ってから、
サンプルページをご覧ください。
※Android4.1で動作しないとご指摘頂きました
では実装してみます。
実装方法
1,まずはファイルをダウンロード
.zipファイルを解凍します。
2,head内で関連cssとjsファイルを読み込む
<head>タグ内で、
ダウンロードしたファイル内にある、
CSSファイルは、jquery.slidemenu.cssを読み込み、
javascriptは、jqueryライブラリファイル読み込みより後に、
jquery.slidemenu.jsを読み込むようにします。
このページのソースをコピーする際は、ソース上でダブルクリックすると全選択できます。
<link rel="stylesheet" type="text/css" href="css/jquery.slidemenu.css"/> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"><p/script> <script type="text/javascript" src="js/jquery.slidemenu.js"><p/script>
jqueryライブラリファイルを既に読み込んでいる場合は、
<pscript type=”text/javascript” src=”https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js”><p/script>
の記述は不要です。
3,head内にプラグインjsを記述する
プラグイン用のjavascriptを<head>タグ内に記述します。
先ほどのファイル読み込みより後に記述します。
<script>$("#menu_button").slideMenu({main_contents: "#container"});</script>
4,HTMLを記述する
関連するHTMLを記述します。
<div id="slidemenu" > <div id="slidemenu_contents" style=""> <ul id="slidemenu_list"> <li><a href=""> <img src="images/profile.png" width="28px" height="28px" alt="" /> <span id="profilebox">User Name</span> </a></li> <li><a href="">メニュー1</a></li> <li><a href="">メニュー2</a></li> </ul> </div> </div> <div id="container"> <header id="header"> <div id="navbox"> <nav id="menu_button"> <nav id="mobile-bar"></nav> </nav><!-- left-nav --> </div><!-- nav --> </header> <div id="wrap"> <div id="contents"> 本文 </div><!-- contents --> </div> </div>
5,CSSを記述する
関連するCSSを記述します。
nav ul { list-style:none; } #navbox { display: table; width: 100%; height: 48px; background: url(../images/header-bg.png) repeat-x; } #left-nav { display: table-cell; text-align: center; border-right: 1px solid #8B7965; padding: 0 5px; box-sizing: border-box; width: 30px; vertical-align: middle; } #menu_button { width: 48px; height: 48px; background : #000000; } #slidemenu li { width : 220px; list-style: none; border-top: 1px solid #4D4D4D; border-bottom: 1px solid #000; font-size:14px; line-height: 1.8; padding:10px 0 10px 20px; } #slidemenu li a { display: block; text-decoration: none; color: #fff; } #slidemenu li:first-child { border-top: none; border-bottom:5px solid #ccc; } #slidemenu li:last-child { border-bottom: none; } #slidemenu li img{ vertical-align: middle; margin-right: 10px; }
出来上がり☆
※当プラグインはAndroid4.1では動作しないとケイタ様からご指摘頂きました。(2014/7/20追記)
こちらのドロワーメニューもどうぞ。
>> jqueryドロワーメニューはDrawer Slide Menuがいいかも。facebookみたいな左スライドインメニューの作り方【デモあり】
※2015年3月追記
このjSlideMenu-masterはAndroidで動作しないなどの問題があります。
2015年3月現在では↓の記事のSlidebarsのほうをおすすめしています。
>> ドロワー・スライドインメニューでヘッダー固定【デモあり】jquery Slidebarsが最強!drawer slidein menu
通りすがりの者です。
こちらのプラグイン、Android 4.1では動作しません。
Android 4.1は未だに多くの人が使用してますので、現時点では厳しいと思います。