【解決したいこと】
半分表示しているテキストについて、「もっと見る」ボタンをクリックすると、全てのテキストを
アコーディオンで表示したいのですが、テキストエリアの高さを100%にするタイミングと、ボタンのテキスト変更(もっと見る→閉じる)のタイミングがうまく行っておりません。
テキストエリアの高さは、cssのtransitonで設定しておりますが、こちらを削除するとアニメーションが効かなくなるため、修正対応箇所についてご教授いただけないでしょうか。
HTML
1<div class="wrap"> 2<div class="txt_inr"> 3テキストテキストテキストテキストテキストテキスト 4テキストテキストテキストテキストテキストテキスト 5テキストテキストテキストテキストテキストテキスト 6テキストテキストテキストテキストテキストテキスト 7テキストテキストテキストテキストテキストテキスト 8</div> 9<div class="link">もっと見る</div> 10</div> 11 12<div class="wrap"> 13<div class="txt_inr"> 14テキストテキストテキストテキストテキストテキスト 15テキストテキストテキストテキストテキストテキスト 16テキストテキストテキストテキストテキストテキスト 17テキストテキストテキストテキストテキストテキスト 18テキストテキストテキストテキストテキストテキスト 19</div> 20<div class="link">もっと見る</div> 21</div>
javascript
1$(function () { 2 $('.link').click(function () { 3 if ($(this).prev().hasClass('active')) { $(this).prev().removeClass('active'); 4 $(this).text('もっと見る'); 5 } else { 6 $(this).prev().addClass('active'); 7 $(this).text('閉じる'); 8 } 9 }); 10});
css
1.wrap{ 2 width: 50%; 3} 4 5.txt_inr { 6 height: 50px; 7 overflow: hidden; 8 transition: height 0.8s; 9} 10 11.active.txt_inr{ 12 height: 100%; 13} 14 15.link{ 16 background-color: red; 17}
回答1件
あなたの回答
tips
プレビュー