ESCキーで閉じられるドロワーメニューの作り方
ESCキーで閉じられるドロワーメニューをHTML・CSS・JavaScriptで実装する方法を紹介します。画面左から表示されるドロワーメニューをボタンで開き、キーボードのESCキーを押すだけで閉じられるシンプルなサンプルです。パソコン向けサイトの操作性向上や、アクセシビリティを考慮したメニューを作りたい場合にも活用できます。
コードについて
本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コードを指定 -->
<meta charset="UTF-8">
<!-- スマホ表示に対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ページタイトル -->
<title>ESCキーで閉じられるドロワーメニュー</title>
<!-- CSSファイルを読み込み -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- デモ全体を囲むエリア -->
<div class="esc-close-drawer-menu_wrap">
<!-- 見出し -->
<div class="esc-close-drawer-menu_title">
ESCキーで閉じられるドロワーメニュー
</div>
<!-- 説明文 -->
<p class="esc-close-drawer-menu_text">
メニューを開いた状態でESCキーを押すと、ドロワーメニューを閉じられます。<br>
閉じる方法はESCキーのみです。
</p>
<!-- メニューを開くボタン -->
<button class="esc-close-drawer-menu_open" type="button" data-drawer-open>
メニューを開く
</button>
</div>
<!-- ドロワーメニュー全体 -->
<div class="esc-close-drawer-menu_overlay" data-drawer-overlay>
<!-- ドロワーメニュー本体 -->
<div class="esc-close-drawer-menu_drawer" role="dialog" aria-modal="true">
<!-- ドロワーメニューの見出し -->
<div class="esc-close-drawer-menu_drawer-title">
メニュー
</div>
<!-- 説明文 -->
<p class="esc-close-drawer-menu_drawer-text">
ESCキーを押すと閉じます。<br>
背景クリックやメニュークリックでは閉じません。
</p>
<!-- メニュー一覧 -->
<nav class="esc-close-drawer-menu_nav" aria-label="メニュー">
<a href="javascript:void(0)">ホーム</a>
<a href="javascript:void(0)">サービス</a>
<a href="javascript:void(0)">お知らせ</a>
<a href="javascript:void(0)">お問い合わせ</a>
</nav>
</div>
</div>
<!-- JavaScriptファイルを読み込み -->
<script src="script.js"></script>
</body>
</html>
ファイル構成と設置方法
このサンプルでは、HTML・CSS・JavaScriptをそれぞれ別ファイルに分けて使用します。index.html、style.css、script.js を同じフォルダに配置してください。
sample/
├── index.html
├── style.css
└── script.js
index.html をブラウザで開くと、ESCキーで閉じられるドロワーメニューを確認できます。メニューを開いた後は、キーボードのESCキーを押すことでのみ閉じられる仕様です。
コメント