ボタンクリックで指定したアコーディオンを開く方法【HTML/CSS/JavaScript・サンプルコード付き】

アコーディオン

ボタンクリックで指定したアコーディオンを開く方法

HTML・CSS・JavaScriptを使って、ボタンをクリックすると指定したアコーディオンを自動で開く方法を紹介します。このサンプルでは、ボタンを押すとURLハッシュ(URL末尾の「#faq1」のような文字列)を利用して対象のアコーディオンを開きます。FAQページ、ヘルプページ、商品説明ページなどで、目的の項目へ直接案内したい場合に便利です。

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

デモ

ボタンクリックで指定したアコーディオンを開く

ボタンをクリックすると、指定したアコーディオンが自動で開きます。

URLの末尾に付く #faq1 のような文字列で、特定の要素を指定できます。
FAQやヘルプページで、目的の項目を直接開きたい場合に使えます。
HTML、CSS、JavaScriptの3つのファイルで作成できます。

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

<!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>

  <!-- デモ全体を囲むエリア -->
  <div class="url-hash-open-accordion_wrap">

    <!-- タイトル -->
    <div class="url-hash-open-accordion_title">
      ボタンクリックで指定したアコーディオンを開く
    </div>

    <!-- 説明文 -->
    <p class="url-hash-open-accordion_text">
      ボタンをクリックすると、指定したアコーディオンが自動で開きます。
    </p>

    <!-- 開くボタン一覧 -->
    <div class="url-hash-open-accordion_links">

      <a href="#faq1">
        FAQ1を開く
      </a>

      <a href="#faq2">
        FAQ2を開く
      </a>

      <a href="#faq3">
        FAQ3を開く
      </a>

    </div>

    <!-- アコーディオン項目 -->
    <div class="url-hash-open-accordion_item" id="faq1">

      <button class="url-hash-open-accordion_button" type="button">
        URLハッシュとは?
      </button>

      <div class="url-hash-open-accordion_content">
        URLの末尾に付く #faq1 のような文字列で、特定の要素を指定できます。
      </div>

    </div>

    <!-- アコーディオン項目 -->
    <div class="url-hash-open-accordion_item" id="faq2">

      <button class="url-hash-open-accordion_button" type="button">
        どんな場面で使う?
      </button>

      <div class="url-hash-open-accordion_content">
        FAQやヘルプページで、目的の項目を直接開きたい場合に使えます。
      </div>

    </div>

    <!-- アコーディオン項目 -->
    <div class="url-hash-open-accordion_item" id="faq3">

      <button class="url-hash-open-accordion_button" type="button">
        必要なファイルは?
      </button>

      <div class="url-hash-open-accordion_content">
        HTML、CSS、JavaScriptの3つのファイルで作成できます。
      </div>

    </div>

  </div>

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

</body>
</html>

ファイル構成と設置方法

このサンプルでは、HTML・CSS・JavaScriptをそれぞれ別ファイルに分けて使用します。index.htmlstyle.cssscript.js を同じフォルダに配置してください。

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

index.html をブラウザで開くと、ボタンをクリックして指定したアコーディオンを開けます。URL末尾の #faq1#faq2#faq3 に合わせて、対象のアコーディオンが自動で開きます。


コメント