私の最終的な解決策は、スクロールバーを持つ div 内にテーブルを作成することでした。テーブルの高さをコンテンツの総量の高さに設定し、最初の行をコンテンツの未表示部分の高さに設定し、次の行は現在見ているコンテンツです。
次に、画面に表示されているものだけ、または表示領域の近くにあるものだけを描画する、横スクロール ビデオ ゲームによく似たプロセスを使用しました。ウェイポイントを活用して、ユーザーがスクロールしている場所を追跡し、表示されているコンテンツを更新し、jquery の scrollto 機能を使用して、ユーザーが表示している場所と同じ場所に留まるようにしました。そのため、現在の表示領域の上または下に約 1 ページ分のコンテンツのみが「表示」されます。
すべての「コンテンツ」は実際にはクライアントのシステムに既に存在するため、ダウンロードは問題ではありません。私にとっての問題は、「コンテンツ」が大規模な DOM 構造であり、すべてを一度に処理しようとすると、クライアントのシステムが恐ろしく遅くなるということです。そのため、一度にその一部のみを作成して表示します。
これにより、スクロールバーをつかんでコンテンツの一番下にドラッグすると、画面がリフレッシュされ、悪い結果が得られるため、多少の途切れが生じます。より良いものを見つけたら、これを更新します。
更新
私は自分のサイトでこれを行う方法を文書化しました: http://0xdabbad00.com/2012/11/25/icebuddha-scrolling-javascript-infinite-scrolling-in-a-finite-area/