- ベストアンサー
JavaScript Accordionを実装する方法
- 『JavaScript Accordion』を自サイトに実装する方法を紹介します。
- 具体的な手順やタグの変更方法について解説します。
- CSSの設定や表示非表示の切り替え方法も紹介します。
- みんなの回答 (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の内容をアコーディオンするようにしています。
お礼
お返事が遅くなり、大変申し訳ございませんでした。 ご回答の通りやってみましたら、うまくできました。 お忙しい中ご回答くださり、本当にありがとうございました!