【解決したいこと】
「開く」のボタンがクリックされた際、「answer」のclassが付与された部分が表示されるアコーディオンを
作成したのですが、iphoneの実機で、「answer」の部分が1000px以上あるような縦に長い場合、
「閉じる」ボタンをクリックしても、元の位置に戻らないため、戻るように修正したいです。
chromeの検証で、iphoneのサイズにしてクリックすると元の位置に戻るのですが、実機のiphoneでやると
戻らず、Andoroidなどは戻るため端末によっても違いが見られます。
該当のソースコードは下記です。
js内の$("html,body").animate({scrollTop:$answer2.offset().top},"fast","swing");
の部分で、戻る動作を追加したのですが、元の位置に戻らないため
、修正箇所についてご教授いただきたいです。お願いいたします。
HTML
1<div class="inner"> 2 <div class="question action"> 3 XXXXXXXXXXXXXX 4 </div> 5 <div class="access_box_btn action"> 6 <p class="btn_brown_down">開く</p> 7 </div> 8 <div class="answer"> 9 <div class="access_guide"> 10XXXXXXXXXXXXXXXXXXXXXXXXXXXX 11 </div> 12 </div> 13</div>
javascript
1$(function () { 2 3$(".action").on("click", function (e) { 4 var $answer = $(this).parent('.inner'); 5 var $answer2 = $answer.find('.answer'); 6 e.preventDefault(); 7 if (!$answer2.hasClass("active")) { 8 $answer.find('.btn_brown_down').text('閉じる'); 9 $answer.addClass("open"); 10 $answer2.addClass("active"); 11 $("html,body").animate({scrollTop:$answer2.offset().top},"fast","swing"); 12 } else { 13 $answer.find('.btn_brown_down').text('開く'); 14 $answer.removeClass("open"); 15 $answer2.removeClass("active"); 16 } 17 }); 18 19 });
css
1.answer { 2 opacity: 0; 3} 4 5.answer.active { 6 opacity: 1; 7} 8

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/12 04:26
2020/01/12 04:30