jQueryトグル
jQueryの簡単なトグル
以下のようなhtml
<div> <h1>ここに見出しが入ります。</h1> <div class="contents"> <p>ここにテキストが入ります。</p> <p>ここにテキストが入ります。</p> <p>ここにテキストが入ります。</p> </div> </div><div> <h1>ここに見出しが入ります。</h1> <div class=“contents”> <p>ここにテキストが入ります。</p> <p>ここにテキストが入ります。</p> <p>ここにテキストが入ります。</p> </div> </div>
<div> <h1>ここに見出しが入ります。</h1> <div class=“contents”> <p>ここにテキストが入ります。</p> <p>ここにテキストが入ります。</p> <p>ここにテキストが入ります。</p> </div> </div>
.contentsを非表示にしておく。
.contents { display: none; }
h1をクリックしたら同グループの.contentsを表示する。
開く/閉じるの判定はh1にactiveクラスがついているかどうか
$('h1').click(function () { if ( $(this).hasClass('active') ) { $(this).parent().find('.contents').css({'display':'none'}); $(this).removeClass('active'); } else { $(this).parent().find('.contents').css({'display':'block'}); $(this).addClass('active'); } });
display:block/noneではなく.slideUp()、.slideDown()などでも
またh1にactiveクラスがつくので矢印画像の変更をその都度など