HTML Inline Float:溢出中的左元素:隐藏容器 - 如何判断它们是否“可见”?

时间:2012-09-23 10:30:06

标签: html inline

我有一个具有固定宽度/高度的DIV,是“溢出:隐藏”并且包含许多IMG,即“显示:内联”和“浮动:左”

显然只有前几张图像是“可见的” - 其余的图像消失在非常非常宽的DIV的“隐藏”区域。

如果这是一个带有非内联元素的可滚动DIV,我可以很容易地实现一个系统,IMG不会加载它们的'src'直到它们变得“可见” - 但我找不到一种方法来确定内联和浮动的“真实”位置:左图像 - 例如没有办法判断他们是否处于DIV的“可见”部分?

有什么想法吗?像Offset和CSS Left / Top这样的东西都是0(显然)??

P.S。提出问题 - 我想做什么(在jQuery,因为我想在那!)是

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

p.p.s。它发生在我身上,我可以'计算宽度' - 假设我可以按顺序获取元素 - 所以像这样的东西

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++;
}

这是粗略的,但假设它以正确的顺序返回元素(似乎)它会起作用......

2 个答案:

答案 0 :(得分:0)

你是否尝试绝对位置?我的意思是,根据我的理解,你想在x中滚动?

因为你可以通过jQuery告诉左边超过x且小于x - x的图像,直到它们达到那个状态才显示无... ...

我没有清楚如何使用div scroll-x或jQuery .css(),。fadeIn(),. haide()等滚动

我认为Rajat评论了你的需求

答案 1 :(得分:0)

经过大量调查后,我得出的结论是,您无法通过任何属性确定FLOAT:ed元素是否在滚动div的可见部分内。

你可以通过加上他们的宽度/高度来计算他们的位置,然后看看这个&#39;位置&#39;在可见区域内,但没有其他方法可以确定他们的能见度。

并不完全令人惊讶 - 他们因某种原因而动态布局 - 并且计算他们的位置并不难......