2012-03-29 51 views
0

まず、私の英語を残念に思っています。非常に大きなhtmlページ:仮想スクロールを実装する上でのポインタが必要

私はasp.netで作成された非常に大きなhtmlページを持っています。私たちはIE8に悩まされています。残念なことに、IE8はそのような大きなHTMLページを扱うのが非常に悪いです。たとえば、ページが完全に生成されたときに、javascriptアラートを表示する単純なボタンをクリックすると、アラートが表示されるまでに時間がかかります。私はFirefoxと同じページをテストしました、そしてそれは完全に動作します、問題は本当にIE8であるので。再び、別のブラウザを使用することはできません:(

基本的に、情報は、ツリーをシミュレートするULとLIを生成する3つのネストされたリストビューで表示されます。

大きなページを扱う唯一の方法は、これらの要素がビューポートから外れていて、いくつかのポインタが必要な場合にDOMから要素を削除することです。ページのための「仮想」スクロールそれが役立つことができれば我々はjqueryのを使用している

ここに私が考えたものです:?。

ページスクロールでは、要素がビューポートから外れていることを簡単に検出でき、DOMから削除することができます。どこでその要素のinnerhtmlを保持すべきですか? JavaScriptの変数では?

次に、container.getElementById.innerHTML = ''のようなものを実行してDOMから要素を削除したとします。もちろん、コンテナの高さが低くなり、スクロールバーのようなその他の問題が発生する可能性がありますそれは拡大するでしょう。要素コンテナの内容を削除したままで、コンテナの高さを保持するにはどうすればよいですか?

また、ページをスクロールするときに要素を削除すると、ページをスクロールすると要素が表示されることを検出できますか?

ありがとうございました!

更新:私は最初は明確ではなかったことを認識しています。ページにアイテムを追加する仮想スクロールを実装すると、しばらくしてもページが大きくなりすぎることがあります。項目を動的に追加する以外にも、実際の問題は、画面に表示されないアイテムをDOMから削除し、表示するときに追加することです。

答えて

2

私はあなたが探している用語は「無限スクロール」だと思う:情報のため

https://www.google.com/search?btnG=1&pws=0&q=jquery+infinite+scroll

+0

おかげで、しかし、これは私が探している答えではありません。基本的に、問題は、ユーザーが技術を使って下にスクロールすると、DOMが大きくなりすぎるということです。問題は、DOMにアイテムを動的に追加するのではなく、表示してはいけないアイテムを削除し、表示するときに追加することです。 – user1185417

関連する問題