以下を必要とする webapp を開発しています。
- 複雑な関数に基づいて ($.ajax を使用して) html で大量のテキスト (約 30 ~ 100 印刷ページ) を動的にロードするページ
- このテキストのすべてを事前に読み込みます。一度に少しずつロードすることはできません。
- 一度に少量のテキストのみを表示します。
すべてのhtmlをdiv要素(ライブラリ)にロードすることでこれを行うことができました。これは隠しておきます。jquery を使用して、目に見える div (コンテンツ) で一度に少しずつ表示します。
<div id="content">
<ul index="1">
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
...
<ul index="4">
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</div>
<div id="library" style="display:none">
<ul index="1">
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
...
<ul index="450">
<li>...</li>
<li>...</li>
<li>...</li>
</ul>
</div>
私の問題は、このテキストをこの div に保持すると、Web ページの初期読み込みと操作が遅くなることです (アニメーションなどがあります)。HTML のロードはかなり高速であると判断できましたが、処理 (レンダリング?) に多くの時間を費やしています。
この単純なテキスト ライブラリが大量のメモリを消費しないようにするにはどうすればよいでしょうか。非表示にする以外に、ブラウザがライブラリ div をレンダリングしないようにする方法はありますか? jquery を使用してその html 要素にアクセスできるこのコンテンツ (たとえば、javascript 変数) を保持するためのより良い場所はありますか?