添付の画像のように、
アコーディオンメニューが開いた時に、ボタンの位置を移動させたいです。
・青枠(2箇所)をクリックすると閉じる
・黄色の箇所の中身は可変
になってます。
ざっくりとしかイメージできないのですが、
おそらく、「acChild」の高さを取得し、
それを、cssの「translate」の値にいれるのかなとは思っています。
js初心者なので、間違っていたらすみません、、。
js
1 //アコーディオンをクリックした時の動作 2$('.acParent').on('click', function() {//タイトル要素をクリックしたら 3 var findElm = $(this).next(".acChild");//直後のアコーディオンを行うエリアを取得し 4 $(findElm).slideToggle();//アコーディオンの上下動作 5 6 if($(this).hasClass('close')){//タイトル要素にクラス名closeがあれば 7 $(this).removeClass('close');//クラス名を除去し 8 }else{//それ以外は 9 $(this).addClass('close');//クラス名closeを付与 10 } 11});
html
1<div class="acParent">ここクリックすると隠れている要素表示</div> 2 3<div class="acChild"> 4 <div class="acChild_ttl">子タイトル</div> 5 <div class="acChild_box">可変の中身可変の中身可変の中身可変の中身可変の中身</div> 6</div>
CSS
1.acParent { 2 position: relative; 3} 4 5.acParent:after { 6 content: ""; 7 display: inline-block; 8 width: 0; 9 height: 0; 10background-imags: url(../img/btn.png) 11 position: absolute; 12 bottom: 0; 13 right: 50%; 14} 15 16.acParent.close::after { 17 transform: rotate(0); 18 transition: all 0.3s; 19} 20 21/*アコーディオンで現れるエリア*/ 22.acChild { 23 display: none; 24 /*はじめは非表示*/ 25}

回答1件
あなたの回答
tips
プレビュー