我有一个具有固定宽度/高度的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++;
}
这是粗略的,但假设它以正确的顺序返回元素(似乎)它会起作用......
答案 0 :(得分:0)
因为你可以通过jQuery告诉左边超过x且小于x - x的图像,直到它们达到那个状态才显示无... ...
我没有清楚如何使用div scroll-x或jQuery .css(),。fadeIn(),. haide()等滚动
我认为Rajat评论了你的需求
答案 1 :(得分:0)
经过大量调查后,我得出的结论是,您无法通过任何属性确定FLOAT:ed元素是否在滚动div的可见部分内。
你可以通过加上他们的宽度/高度来计算他们的位置,然后看看这个&#39;位置&#39;在可见区域内,但没有其他方法可以确定他们的能见度。
并不完全令人惊讶 - 他们因某种原因而动态布局 - 并且计算他们的位置并不难......