$("html,body").animate(
{scrollTop: $(this).offset().top
})
こんな感じでクリックしたコントロール位置にあわせてjQueryのアニメーションでスクロールさせると、他の要素を消したり追加したりした際に勝手にスクロール位置があらぬ位置に戻ってしまう。
どうやらChromeでしか起こらないので、ブラウザのスクロール位置の記憶が邪魔しているっぽい。
予め、処理前に現在のスクロール位置を記憶してから、処理が終わったときにsetTimeout()を使って元のスクロール位置に戻すようにすると強引に解決させることができる。
let scrollY = $(window).scrollTop()
//~~~~~~~~~~
//処理
//~~~~~~~~~~
//ブラウザのスクロール位置記憶バグを無視
setTimeout(function(){$("html,body").scrollTop(scrollY)},0)