2

我怀疑我在这里误解了一些东西,但我想确保我没有疯。我有一些延迟加载一些图像的 JS。这是我正在做的一个截断版本:

jQuery(window).scroll(function() {
    self.image_holders = jQuery('.image-holder');
    jQuery.each(self.image_holders, function(i, placeholder){
        if ( jQuery(placeholder).offset() ){
            //compare offsets and load image if appropriate
        }
    });                
});

位于首屏下方甚至部分位于首屏下方的匹配元素正在返回nullfor offset()。我想要完成的是在用户滚动到文件夹之前加载文件夹下方某个阈值内的图像。这是 jQuery 的预期行为吗?如何在偏移量出现在首屏之前获取它们的值?

编辑:为了澄清这些元素,我需要的偏移量不是隐藏或不可见的,它们只是“首屏下方”。

4

1 回答 1

2

就在文档中:

注意:jQuery 不支持获取隐藏元素的偏移坐标或考虑在 body 元素上设置的边框、边距或填充。

虽然可以通过 visibility:hidden 设置获取元素的坐标,但 display:none 被排除在渲染树之外,因此具有未定义的位置。

于 2012-10-09T02:52:08.993 回答