javascript - 如何在视口中找到顶部元素?
问题描述
我想使用 JavaScript 从网页的视口中获取顶部元素( Element Object )。(如果 html 元素的顶部边界的任何部分在视口上可见,则该元素在视口内)
我提出的方法是:
- 找到所有元素
document.body.getElementsByTagName("*")
- 检查每个元素是否在视口中,如何判断 DOM 元素在当前视口中是否可见?
el.getBoundingClientRect().top
从第2步的匹配元素中获取具有最低值的元素
如果同一级别有很多元素(例如:父母和孩子),匹配其中任何一个都可以。
对于一个小的要求,这似乎是太多的代码。有更短的方法吗?
解决方案
推荐阅读
- python - Plotly:如何使用 go.Figure 和 go.Scatter 为每个 y 误差条设置单独的颜色?
- python - 如何让敌人在屏幕上移动
- javascript - 如何在逗号之前分隔字符串中的数字并推入数组
- javascript - 将 HTML 代码中的链接模式与 RegEx 匹配
- python - 在各种迭代中选择最佳性能模型
- python - 使用 pyinstaller 从 python .py 文件制作可执行文件,利用 Pandas 读取 CSV 文件?
- python - 获取COO稀疏矩阵的内存使用情况
- xamarin.android - Xamarin.Android:System.UnauthorizedAccessException:访问路径被拒绝
- javascript - Angular:在常量内插入firebase集合
- python - 级联下拉菜单显示字典/数组 - Python(Jupyter Notebook)