使用jQuery检查视口中可见性的准确性?

时间:2015-08-18 11:24:05

标签: jquery

我创建了这个jsFiddle,它应该记录数字(那些数字不代表任何东西 - 它们只是一个标志代表:&#34;元素已进入视口&#34; < /子>)。当特定元素进入视图时(即使它部分可见)

所以我有一个self.size_hint = None, None div,里面有很多灰色立方体。其中一个立方体是relative

enter image description here

当我滚动div时 - 橙色立方体开始显示,然后我增加数字。

但问题是,在橙色变为可见之前,数字会增加

正如你在这里看到的那样:

enter image description here

问题

我可能遗漏了一些东西,但为什么数字在实际可见之前就开始了?

orange

1 个答案:

答案 0 :(得分:1)

当您使用offset计算橙色框的边界时( jQuery .offset()将获得相对于文档的当前坐标。),您也应该这样做使用offset计算视口范围。

var viewport = {
    top: win.offset().top,
    left: win.offset().left
};

你的小提琴:http://jsfiddle.net/abhitalks/t58q6e1m/6/