我创建了这个jsFiddle,它应该记录数字(那些数字不代表任何东西 - 它们只是一个标志代表:&#34;元素已进入视口&#34; < /子>)。当特定元素进入视图时(即使它部分可见)
所以我有一个self.size_hint = None, None
div,里面有很多灰色立方体。其中一个立方体是relative
。
当我滚动div时 - 橙色立方体开始显示,然后我增加数字。
但问题是,在橙色变为可见之前,数字会增加:
正如你在这里看到的那样:
问题
我可能遗漏了一些东西,但为什么数字在实际可见之前就开始了?
orange
答案 0 :(得分:1)
当您使用offset
计算橙色框的边界时( jQuery .offset()
将获得相对于文档的当前坐标。),您也应该这样做使用offset
计算视口范围。
var viewport = {
top: win.offset().top,
left: win.offset().left
};