Javascript jQuery

ドロワーメニューの「simple-sidebar」の簡単なサンプル

01

simple-sidebar

スマホなどの、ドロワーメニューの追加で便利な「simple-sidebar」。
サンプル通りに作っても、つまづいたので、備忘録代わりに簡単なサンプルを作りました。

作り方

今回のデモは下記から確認できます。

デモはこちら

2016013022422618024

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'
		}
	});

});

デモはこちら

-Javascript, jQuery