首页 > 解决方案 > 如何在视口中找到顶部元素?

问题描述

我想使用 JavaScript 从网页的视口中获取顶部元素( Element Object )。(如果 html 元素的顶部边界的任何部分在视口上可见,则该元素在视口内)

在此处输入图像描述 在此处输入图像描述

我提出的方法是:

  1. 找到所有元素document.body.getElementsByTagName("*")
  2. 检查每个元素是否在视口中,如何判断 DOM 元素在当前视口中是否可见?
  3. el.getBoundingClientRect().top从第2步的匹配元素中获取具有最低值的元素

如果同一级别有很多元素(例如:父母和孩子),匹配其中任何一个都可以。

对于一个小的要求,这似乎是太多的代码。有更短的方法吗?

标签: javascripthtmldom

解决方案


推荐阅读