ページ読み込み時に自動表示するドロワーメニューを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

ドロワーメニュー

ページ読み込み時に自動表示するドロワーメニューを作る方法

ページ読み込み時に自動表示するドロワーメニューの作り方を紹介します。ページへアクセスしたタイミングで自動的にドロワーメニューを表示できるため、お知らせやキャンペーン、重要なお知らせなどを目立たせたい場面で活用できます。

このサンプルではHTML・CSS・JavaScriptだけで実装しており、ページを開くと自動で画面左側からドロワーメニューがスライド表示されます。ユーザーは閉じるボタンや背景部分、メニュー項目をクリックすることでドロワーメニューを閉じられます。

表示するメニュー項目やタイトル、説明文、表示位置、アニメーション速度などはコードを書き換えるだけで自由に変更できます。ライブラリは不要なので、そのままコピーしてWebサイトへ導入できます。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
掲載しているコードによって発生した損害については一切責任を負いません。

デモ

ページ読み込み時に自動表示

「デモを再読み込み」をクリックすると、ページ読み込み時の自動表示を何度でも確認できます。

ページを開くとドロワーメニューが自動表示されます。閉じた後に「デモを再読み込み」をクリックすると、同じ自動表示をもう一度確認できます。

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマートフォン表示対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>ページ読み込み時に自動表示するドロワーメニュー</title>

  <!-- CSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- ページ内容 -->
  <main class="auto-open-drawer-menu_wrap">

    <!-- タイトル -->
    <h1 class="auto-open-drawer-menu_title">
      ページ読み込み時に自動表示するドロワーメニュー
    </h1>

    <!-- 説明文 -->
    <p class="auto-open-drawer-menu_text">
      ページを開くと、自動でドロワーメニューが表示されます。
    </p>

  </main>

  <!-- オーバーレイ -->
  <div
    class="auto-open-drawer-menu_overlay"
    data-auto-open-drawer-menu-overlay>
  </div>

  <!-- ドロワーメニュー -->
  <aside
    class="auto-open-drawer-menu_drawer"
    data-auto-open-drawer-menu-drawer
    aria-hidden="true">

    <div class="auto-open-drawer-menu_header">

      <div class="auto-open-drawer-menu_heading">
        メニュー
      </div>

      <button
        class="auto-open-drawer-menu_close"
        type="button"
        data-auto-open-drawer-menu-close
        aria-label="閉じる">
      </button>

    </div>

    <nav class="auto-open-drawer-menu_nav">

      <a
        href="#"
        class="auto-open-drawer-menu_link"
        data-auto-open-drawer-menu-link>
        ホーム
      </a>

      <a
        href="#"
        class="auto-open-drawer-menu_link"
        data-auto-open-drawer-menu-link>
        サービス
      </a>

      <a
        href="#"
        class="auto-open-drawer-menu_link"
        data-auto-open-drawer-menu-link>
        お知らせ
      </a>

      <a
        href="#"
        class="auto-open-drawer-menu_link"
        data-auto-open-drawer-menu-link>
        お問い合わせ
      </a>

    </nav>

  </aside>

  <!-- JavaScriptを読み込み -->
  <script src="script.js"></script>

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルは、HTML・CSS・JavaScriptの3ファイルで構成されています。ページを読み込むとJavaScriptが自動で実行され、ドロワーメニューが画面左側から表示されます。HTMLではページとメニューの構造、CSSではレイアウトやアニメーション、JavaScriptでは自動表示や開閉処理を担当しています。

sample/
├── index.html
├── style.css
└── script.js

各ファイルの役割
index.html
ページ本体とドロワーメニューのHTMLを記述しています。タイトルや説明文、メニュー項目を編集できます。

style.css
ドロワーメニューの幅や色、背景、影、アニメーションなどのデザインを設定しています。

script.js
ページ読み込み時の自動表示、閉じるボタン、背景クリック、メニュークリック時の開閉処理を記述しています。

設置方法・使い方
sampleフォルダ内のファイルをそのまま配置します。
index.htmlをブラウザで開くと、ページ読み込み時にドロワーメニューが自動表示されます。閉じるボタン、背景部分、またはメニュー項目をクリックするとメニューを閉じられます。

カスタマイズできる内容
index.htmlではタイトル、説明文、メニュー項目を変更できます。
style.cssではメニューの横幅、背景色、文字色、余白、角丸、影などを自由に変更できます。
script.jsでは自動表示のタイミングや開閉処理を変更できます。

数値調整
style.css
transition:transform .35s ease;
0.35秒でドロワーメニューが開閉します。値を大きくするとゆっくり、小さくすると速く動作します。

transition:opacity .3s;
オーバーレイを0.3秒でフェード表示します。値を変更するとフェード速度が変わります。

width:320px;
ドロワーメニューの横幅です。値を変更するとメニューの幅が変わります。

max-width:85%;
画面幅に対する最大サイズです。値を変更するとスマートフォンでの表示幅が変わります。

レスポンシブ対応
style.cssでレスポンシブ対応しています。max-width:85%により小さい画面では画面幅に合わせて縮小され、@media (max-width:640px)では余白やタイトルサイズ、ドロワーメニュー内の余白を調整しています。スマートフォン・タブレット・PCでそのまま利用できます。


こちらもおすすめ


コメント