0

overflow-y设置为滚动的div中(只有部分可见),会有不同 height的关键元素(在本例中为divs)。我的计划是每次看到这些关键元素时都 ping 服务器。

示例:父 div1000px ,但实际上只有80px 和 420px之间的区域可见。内部将有大约30 个其他不可预测高度的关键 div 。举例来说,假设我需要在整个关键 div #27 位于其 parent 的第 80 和第 420 个像素之间时 ping 服务器。

我有将所有子 div 的高度存储在一个全局数组中以供以后使用的想法,但这似乎不是最明智的选择。我真的不确定如何在这种情况下触发事件。如果它是一个听众,谁应该听,为了什么?

实现这一目标的最佳方法是什么?我对 jQuery 或纯 JavaScript 都很满意。

4

1 回答 1

0

对于任何需要解决类似问题的人...

我通过将要监视的 DIV 的 ID 存储在关联数组中并将事件处理程序附加到带有.on("scroll", function).

每次用户滚动父 DIV 时,它都会循环遍历数组以检查子边框 ( $("#childdiv").position().top + $("#childdiv").height()) 的位置是否低于父 DIV 的高度(以确保整个 DIV 可见)。

我还发现从数组中删除项目delete Array[id];并执行我想要的操作是明智的。

如果有人有更好的主意,我很想听听。

于 2020-06-29T20:55:20.767 回答