※ ChatGPTを利用し、要約された質問です(原文:アコーディンパネルの別ページからのリンクについて)
アコーディンパネルの別ページからのリンクについて
このQ&Aのポイント
アコーディオンパネルのリンクをクリックすると該当のパネルが開いた状態で表示させる方法について教えてください。
アコーディオンパネルの実装にはjQueryを使用しており、パネルはデフォルトで閉じた状態となっています。
選択したパネルが開いた状態で表示させるには、スクリプトを追加する必要があります。具体的な方法を教えてください。
こんばんは。
jqueryを使ってアコーディオンパネルを実装したページを作成しました。
通常は全て閉じた状態ですが、
全てのページにパネル1~5へのリンクがあり、それをクリックすると該当のパネルが開いた状態で表示させるには、どんなスクリプトを追加するとよろしいのでしょうか?
以下コードです。
--html(各ページのリンクの部分)
<ul>
<li><a href="/service/#panel01">パネル1へ</a></li>
<li><a href="/service/#panel02">パネル2へ</a></li>
・・・
</ul>
--html(アコーディオンパネルの部分 /service/index.html )
<h5 class="trigger" id="panel01"><a href="#">パネル1のタイトル</a></h5>
<div class="accblock">
<p>パネル1のコンテンツ</p>
</div>
<h5 class="trigger" id="panel02"><a href="#">パネル2のタイトル</a></h5>
<div class="accblock">
<p>パネル2のコンテンツ</p>
</div>
(省略)
---js
$(document).ready(function(){
$(".accblock").hide();
$("h5.trigger").click(function(){
$(this).toggleClass("active").next().slideToggle("slow");
});
});
location href か hash を使うのかなと思っているのですが
うまく使いこなすことができませんでした。
アドバイスをいただけたら助かります。
どうぞよろしくお願いいたします。
お礼
ありがとうございます。 参考にさせていただき、 $(location.hash).next(".accblock").slideToggle("slow,"); を追加することにより、できました。 本当にありがとうございます。 助かりました!