jQueryのfadeOutを使って、クリックされた文字をゆっくり消します。
サンプルも設置しているので、ご確認ください。
…
jQueryでアコーディオンパネルを実装してみます。
サンプルも設置してますので、動作の確認が出来ます。
サンプル
↑閉じているタイトルをクリックすると本文が表示されます。
- タイトル1
- 本分本分本分本分本分本分本分本分本分本分
- タイトル2
- 本分本分本分本分本分本分本分本分本分本分
- タイトル3
- 本分本分本分本分本分本分本分本分本分本分
設置コード
javascript まずは、htmlソースのhead内でjqueryを読み込みます。<script type='text/javascript' src='jquery-1.6.1.min.js'></script>今回の動作を設定している以下のソースをhtmlソース内に適当に配置します。
<script type="text/javascript"> jQuery(function() { jQuery("dd:not(:first)").css("display","none"); jQuery("dl dt").click(function(){ if(jQuery("+dd",this).css("display")=="none"){ jQuery(this).siblings("dd").slideUp("slow"); jQuery("+dd",this).slideDown("slow"); } }); }); </script>htmlソース 以下のようなソースを記述します。
<dl> <dt>テスト</dt> <dd>aaaaaaaaaaaaaaaaaaa</dd> <dt>テスト</dt> <dd>aaaaaaaaaaaaaaaaaaa</dd> <dt>テスト</dt> <dd>aaaaaaaaaaaaaaaaaaa</dd> </dl>css
<style type="text/css"> * { margin:0px; padding:0px; } dl{ width:400px; margin:50px auto; } dl dt { background:#eeeeee; border-bottom:1px solid #dddddd; cursor:pointer; } dl dd { border:1px solid #cccccc; border-top:none; height:100px; } </style>
今回のサンプルでは、タイトル1の本文が最初に開いた状態ですが、javascript内の (“dd:not(:first)”)となっているところを (“dd”)とすると、最初は全てが閉じられており、クリックされて初めて、本文が読めるといった感じになります。
この投稿へのコメント
コメントはまだありません。