0

固定幅/高さの DIV があり、「オーバーフロー: 非表示」であり、「表示: インライン」および「フロート: 左」の IMG が多数含まれています。

明らかに、最初の数枚の画像だけが「表示」されます。残りの画像は、非常に広い DIV の「隠れた」領域に消えます。

これが非インライン要素を含むスクロール可能な DIV である場合、IMG が「可視」になるまで「src」をロードしないシステムを簡単に実装できますが、「実際の」要素を決定する方法が見つかりません。 inline'd および float:left'd 画像の位置 - たとえば、それらが DIV の「可視」部分にあるかどうかを判断する方法はありませんか?

何か案は?Offset や CSS Left/Top などはすべて 0 です (明らかに)??

質問を強化するためのps - 私がやりたいことは(私はそれで考えているのでjQueryで!)

$("#container img").each(function() {
  if ($(this).isinthevisiblepartofthecontainer) ...
});

pps、要素を順番に取得できると仮定して、「幅を数える」ことができると思います-このようなもの

var width = $("#container").width();
var sofar = 0;
var imgs = $("#container img");
var idx = 0;
while (sofar < width) {
  var img = $(imgs[idx]);
  img.dowhatsoeverIwanthere
  sofar += img.width();
  idx++;
}

それは大雑把ですが、要素を正しい順序で返すと仮定すると(そしてそうであるように見えます)、うまくいくでしょう...

4

2 に答える 2

0

多くの調査の結果、FLOAT:ed要素がスクロールdivの表示部分内にあるかどうかは、それらが持つ可能性のある属性を介して判断できないと結論付けています。

それらの幅/高さを合計することによってそれらの位置を計算し、次にこの「位置」が可視領域内にあるかどうかを確認できますが、それらの「可視性」を決定する他の方法はありません。

まったく驚くべきことではありません-理由のために動的にレイアウトされています-そしてそれらの位置を計算するのは難しくありません...

于 2012-10-02T20:03:28.817 に答える
0

絶対位置を試しましたか?つまり、私が理解したところで、あなたは x でスクロールしたいのですか?

jQueryを介して、左がxより大きくxより小さい画像に伝えることができるため、xはその条件に達するまで何も表示されません...

div scroll-x または jQuery .css()、.fadeIn()、.hide() などを使用する場合、どのようにスクロールしたいのか明確ではありません

Rajatがあなたが必要としているものをコメントしたと思います

于 2012-09-23T11:39:44.637 に答える