タグ

jQueryとブラウザに関するgazza069のブックマーク (1)

  • 自分用メモ:PC版Chrome上でのjQuery.animate scrollTop 謎の挙動 - Qiita

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

    自分用メモ:PC版Chrome上でのjQuery.animate scrollTop 謎の挙動 - Qiita
  • 1