2

ブラウザの実際の表示領域よりも大きいdiv(#diagram)があります。#diagramには最大1500個の「ボックス」(他のdiv要素)が含まれています。これらの1500個のボックスのうち、実際にユーザーに表示されるのはどれかを知りたいので、表示されたときにajaxを使用してデータを入力できます。私は実際にいくつかの動作するコードを持っていますが、それはonscroll()イベントによってトリガーされるすべての要素を通過します。これはChromeでも同様に機能しますが、もちろん、私のクライアントは、スクロール時にすべての要素をループすると、アプリケーションが完全にひざまずくという邪悪なブラウザーIE8を使用する必要があります。

要素が表示されたときに発生するイベントや、「真の」可視性を検出するその他のオプションはありますか?

環境:jQuery / jQueryUI(最新)、Internet Explorer 8

前もって感謝します :-)

./cj

4

2 に答える 2

2

すべてのボックスがレンダリングされたときに一度だけ通過し、それらを「ページ」にグループ化するとどうなるでしょうか。これは、親 div の垂直座標 [y1, y2] の間に表示される DOM div への参照のコレクションです。ページが表示され<total height of parent div> / <visible height of parent div>ます。
最初のページのコンテンツをプリロードし、各スクロール イベントで、ボックスの次のページのコンテンツをロードする必要があるかどうかを確認します。

于 2012-09-24T07:49:34.777 に答える
1

参照 -

「ビュー内の要素」イベントプラグイン

ウィンドウがスクロールされると、イベントは要素の位置をビューポートの高さとscrollTopの位置に対してチェックします。

遅延読み込みプラグイン

Lazy Loadは、JavaScriptで記述されたjQueryプラグインです。長いウェブページでの画像の読み込みを遅らせます。ビューポートの外側(Webページの表示部分)の画像は、ユーザーがスクロールする前に読み込まれません

于 2012-09-24T07:09:41.097 に答える