初心者コーダーです。
ボタンを押すと、直下のアコーディオンメニューが開き、その際に開いたコンテンツをブラウザの一番上に表示するようにする。
再度ボタンを押すと、アコーディオンだけが閉じるようにする。
という処理をjsで書いているのですが、ボタンを押してコンテンツを閉じる際、一番上に表示するようにしたコンテンツに遷移していまいます。
これを、移動せずにアコーディオンだけが閉じるようにしたいです。
html
1//基本的なhtmlコード省略// 2<ul class="block-answer"> 3 <li><a href="" class="block-answer-ttl">押したら下のulが表示</a> 4 <ul class="block-answer-inner"> 5 <li class="block-answer-content">テキスト</li> 6 </ul> 7 </li> 8</ul> 9//基本的なhtmlコード省略//
js
1$(function(){ 2 3 $('.block-answer-ttl').on('click',function(){ 4 $(this).toggleClass('on'); 5 $(this).next('ul').slideToggle(); 6 var block = $('.block-answer-content').offset().top; 7 $("html").animate({scrollTop: block}); 8 }); 9});
cssには基本的な体裁のコードと、アコーディオンにclass="on"が付いたとき矢印の向きが変わるとかあまり関係なさそうなコードしか書いてないので、省略しています。
お力添えいただけると助かります。よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。