• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:『JavaScript Accordion』について)

JavaScript Accordionを実装する方法

このQ&Aのポイント
  • 『JavaScript Accordion』を自サイトに実装する方法を紹介します。
  • 具体的な手順やタグの変更方法について解説します。
  • CSSの設定や表示非表示の切り替え方法も紹介します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuzumiHK
  • ベストアンサー率72% (132/183)
回答No.1

ご指定のJavaScript Accordionで作ってみると、 動く項目が一つのときスライドアップの様子を見た目で確認することができません。 <style type="text/css"> dl{ margin:0; padding:0; } dt{ font-size:80%; font-family:~; font-weight:bold; color:#ef004a; letter-spacing:4px; margin:0 5px 10px 14px; padding:0; } dl#slider dt{ cursor:pointer; } dd{ margin:0; padding:0; } dd ul.news{ font-size:76%; font-family:~; line-height:150%; padding:0 20px 25px 30px; } dd ul.news li{ list-style-type:disc; } </style> <script type="text/javascript" src="script.js"></script> <dl> <dt>NEWS</dt> <dd> <ul class="news"> <li>2010/01/05 : 更新5</li> <li>2010/01/04 : 更新4</li> <li>2010/01/03 : 更新3</li> </ul> </dd> </dl> <dl id="slider"> <dt>OLD</dt> <dd> <ul class="news"> <li>2010/01/02 : 更新2</li> <li>2010/01/01 : 更新1</li> </ul> </dd> </dl> <script type="text/javascript"> var slider=new accordion.slider("slider"); slider.init("slider",0,"open"); </script> そこで、jqueryを使って同様のことを再現してみました。 <style type="text/css"> dl{ margin:0; padding:0; } dt{ font-size:80%; font-family:~; font-weight:bold; color:#ef004a; letter-spacing:4px; margin:0 5px 10px 14px; padding:0; } dt.accordion{ cursor:pointer; } dd{ margin:0; padding:0; } dd ul.news{ font-size:76%; font-family:~; line-height:150%; padding:0 20px 25px 30px; } dd ul.news li{ list-style-type:disc; } </style> <dl> <dt>NEWS</dt> <dd> <ul class="news"> <li>2010/01/05 : 更新5</li> <li>2010/01/04 : 更新4</li> <li>2010/01/03 : 更新3</li> </ul> </dd> <dt class="accordion">OLD</dt> <dd> <ul class="news"> <li>2010/01/02 : 更新2</li> <li>2010/01/01 : 更新1</li> </ul> </dd> </dl> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(function(){ $("dt.accordion").click(function(){ if($("dt.accordion + dd").css("display")=="none"){ $("dt.accordion + dd").slideDown("fast"); } else{ $("dt.accordion + dd").slideUp("fast"); } }); }); </script> dtにclass="accordion"を追加すると、その直後にあるddの内容をアコーディオンするようにしています。

spktrajt
質問者

お礼

お返事が遅くなり、大変申し訳ございませんでした。 ご回答の通りやってみましたら、うまくできました。 お忙しい中ご回答くださり、本当にありがとうございました!