さまざまな要素のコンテンツがコア構造に AJAX 化されているページがあります。構造自体は非常に単純で、要素には特別な配置はありません。
<body>
<article id="one"></article>
<article id="two"></article>
<article id="three"></article>
</body>
各記事のコンテンツは AJAX 呼び出しを介して読み込まれ、それぞれのコンテンツの長さは事前にわかりません。さらに、各セクションは URL でナビゲートできます (つまり、 でアクセスできます。ページをロード#two
しmysite.com/two
て、要求された記事までスクロールします)。
もちろん、これはすべてのコンテンツがロードされた後はうまく機能しますが、ターゲット要素の前のコンテンツがまだロードされていない場合に問題が発生します。要素はコンテンツに合わせて拡張する必要があるため、ターゲット要素を押し下げるため、これを取得する代わりに:
____________________
| Target Element |
| |
|__________________|
| Next Element |
|__________________|
あなたはこれを得る:
_____________________
| Previous Element |
| |
| |
|___________________|
| Target Element |
|___________________|
コンテンツ ブロックの最小の高さを設定しようとしましたが、それは一部の時間でしか機能せず、実際には最終的な高さが元の高さに近い場合にのみ機能します。
理想的には、すべてのコンテンツが読み込まれる前にユーザーがスクロールした場合でも、ビューポートがコンテンツに対して同じ位置に留まるようにしたいのですが、ユーザーがスクロールしようとする前にその位置を維持することに落ち着きます。
これらのいずれかを行う方法はありますか?