jQuery offset()为折叠以下的元素返回null

时间:2012-10-09 02:49:56

标签: javascript jquery lazy-loading

我怀疑我在这里误解了一些东西,但我想确保我不会发疯。我有一些懒惰加载一些图像的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
        }
    });                
});

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

编辑:为了澄清这些元素,我需要偏移量不隐藏或不可见,它们只是“低于折叠”。

1 个答案:

答案 0 :(得分:2)

Docs开始:

  

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

     

虽然可以获得具有可见性的元素坐标:隐藏集,但显示:无从渲染中排除   树,因此有一个未定义的位置。