スマホなどの、ドロワーメニューの追加で便利な「simple-sidebar」。
サンプル通りに作っても、つまづいたので、備忘録代わりに簡単なサンプルを作りました。
作り方
今回のデモは下記から確認できます。
JavaScript読み込み
ソースはGitHubの「simple-sidebar」の「download.zip」から、ダウンロードできます。
<head>部分に、jQueryとjQueryUI及び、ダウンロードしてきた 「jquery.simple-sidebar.min.js」を読み込みます。
今回は「js」フォルダ内に「jquery.simple-sidebar.min.js」を置いています。
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js'></script> <script src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js'></script> <script src="js/jquery.simple-sidebar.min.js"></script>
HTML
HTML部分は以下の通り。
- 「.header」が固定のヘッダー
- 「.gNav」がスライドしてくるナビゲーション
- 「.container」がコンテンツ部分
です。
<div class="header"> <div class="header__btnMenu">Menu</div> <!-- /.header__btnMenu --> </div> <!-- /.header --> <nav class="gNav"> <ul class="gNav__list"> <li><a href="#">Navigation</a></li> </ul> <!-- /.gNav__list --> </nav> <!-- /.gNav --> <div class="container"> </div> <!-- /.container -->
CSS
CSSでは、ヘッダーの固定をしています。
今回は、「.header__btnMenu」が、メニューのボタンになります。
/*=============================================================== header ================================================================*/ .header { background: #202020; height: 54px; position: fixed; width: 100%; z-index: 100; } .header .header__btnMenu { background: #eee; height: 36px; top: 10px; right: 10px; position: absolute; width: 36px; } /*=============================================================== gNav ================================================================*/ .gNav { background: #fff; overflow: scroll; -webkit-overflow-scrolling: touch; } .gNav .gNav__list li { border-bottom: 1px solid #ccc; box-sizing: border-box; width: 100%; } .gNav .gNav__list li a { color: #333; display: block; padding: 15px 10px; text-decoration: none; } /*=============================================================== container ================================================================*/ .container { background: #eee; height: 2000px; padding-top: 54px; position: relative; width: 100%; }
JavaScript
- 「$('.gNav')」で、スライドするナビゲーションを指定しています。
- 「opener」は、スライドを作動させるためのボタンを指定します。今回は、「.header__btnMenu」です。
- 「wrapper」はコンテンツ部分を指定します。今回は、「.container」です。
- 今回は、右からナビゲーションをスライドさせたいので「align: 'right'」を指定しています。右からスライドさせたい場合は、「align: 'left'」を指定します。
$(function(){ $('.gNav').simpleSidebar({ opener: '.header__btnMenu', wrapper: '.container', animation: { easing: 'easeOutQuint' }, sidebar: { align: 'right' } }); });