6

編集モードと通常モードの 2 つの状態を持つページで作業しています。ユーザーは、トグル ボタンをクリックしてこれらの状態を切り替えます。編集モードをトリガーすると、ページに要素 (ボタンなど) が追加されるため、body要素の高さが強制的に増加します。

ユーザーがページを下にスクロールしてから編集モードをトリガーすると、私の問題が発生します。ページの高さが増加したため、現在のスクロール位置が失われます。scrollTop私は新しいものがどうあるべきかを計算する方法を見つけようとしてきましたが、うまくいきませんでした。

私の問題の例として、jsFiddle があります。3 番目の「エントリ」まで自動的にスクロールし、そこまでスクロールしたユーザーをシミュレートします。右上隅にある「トリガーの変更」ボタンをクリックすると、ページにさらに要素が追加され、ページの上部にある 3 番目のエントリを持つスクロール位置が失われます。

新しいコンテンツが追加された後にやり直すことができることは承知して$('body').scrollTop($('.entry:nth-child(3)').offset().top);いますが、ユーザーがページのどこにスクロールしたとしても、スクロール位置を記憶したいです。

http://jsfiddle.net/Jn8wq/2/

どんな助けでも大歓迎です!

4

2 に答える 2