2020.09.06

jQuery

jQueryプラグイン drawer.jsの使い方

デモページはこちら

ハンバーガーメニューが実装できるjQueryプラグイン、drawer.jsの使い方です。使用にはjQuery以外にdrawer.css、iscroll.js、drawer.jsの読み込みが必要です。CDNも提供されています。

<link href="https://cdnjs.cloudflare.com/ajax/libs/drawer/3.2.2/css/drawer.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/iScroll/5.2.0/iscroll.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/drawer/3.2.2/js/drawer.min.js"></script>

htmlの記述は大きく分けて3つあります。bodyタグへのクラス追加、開く・閉じるボタンの追加、展開メニューの追加です。

bodyタグへのクラス追加です。クラス名drawerはjQueryのセレクタ、クラス名drawer--rightはハンバーガーメニューを右側から開きます。

<body class="drawer drawer--right">

開く・閉じるボタンの追加です。

<button type="button" class="drawer-toggle drawer-hamburger">
	<span class="sr-only">toggle navigation</span>
	<span class="drawer-hamburger-icon"></span>
</button>

展開メニューの追加です。最後のメニューはテスト用にページ内リンクにしています。

<nav class="drawer-nav">
	<ul class="drawer-menu">
		<li><a href="#">メニュー01</a></li>
		<li><a href="#">メニュー02</a></li>
		<li><a href="#">メニュー03</a></li>
		<li><a href="#">メニュー04</a></li>
		<li><a href="#page01">ページ内リンク</a></li>
	</ul>
</nav>

CSSの記述ではdrawer.cssを上書きしますが必須ではありません。PCサイトでハンバーガーメニューを非表示にしています。また、開く・閉じるボタンはposition: fixed;からposition: absolute;へ変更して画面追従をさせていません。

@media screen and (min-width:769px) { 
	.drawer-hamburger {
		display: none;
	}
}
.drawer-hamburger {
	position: absolute;
	top: 10px;
}
.drawer-menu li {
	padding: 20px 0 0;
	font-weight: bold;
	text-align: center;
}
.drawer-menu li a:hover {
	opacity: 1;
}

最後にjQueryの記述です。デフォルトではページ内リンククリック時にハンバーガーメニューが閉じないので、$('.drawer').drawer('close');で閉じるようにしています。

$(function() {
	$('.drawer').drawer();
	$('.drawer-menu li a').on('click', function() {
		$('.drawer').drawer('close');
	});
});

関連記事

2020.10.10

jQuery

jQueryで要素を表示・非表示(show・hide・toggle・fadeIn・fadeOut・fadeToggle・slideDown・slideUp・slideToggle)

デモページはこちら jQueryで要素を表示・非表示にするメソッドのまとめです。対象要素を表示するshow、対象要素を非表示にするhide、対象要素の表示・非表…

2021.01.04

jQuery

トップへ戻るボタンをフッターの上部に表示

デモページはこちら jQueryでフッターの高さを取得し、ユーザーがページ最下部までスクロールしても、トップへ戻るボタンをフッターよりも上部に表示します。 フッ…

2020.09.29

jQuery

PC表示でページの途中からスクロールに追従するナビゲーション

デモページはこちら PC表示の場合、ページの途中に配置したナビゲーションが画面の一番上に来たタイミングで固定され、スクロールに追従する動作を実装します。 ナビゲ…

2020.10.09

jQuery

jQueryのindexメソッドで要素の順番を取得、eqメソッドで要素の順番を指定

デモページはこちら jQueryのindexメソッドで要素の順番を取得、eqメソッドで要素の順番を指定してタブ切り替えを実装します。 以下のhtmlの構造でテス…

2020.09.09

jQuery

jQueryのCDN読み込み

コンテンツ・デリバリー・ネットワーク(CDN)は、アクセス元から一番近くのキャッシュサーバーへ接続してファイルが提供される仕組みです。jQueryのCDNはjQ…

上に戻る