javascript - 如何在给定点直接或通过另一个元素的空腔检测哪个元素可见/位于顶部?

标签 javascript jquery html dom

假设我有一个 div(背景设置为蓝色),里面有一个 <h1>。包含一些白色文本。

使用 javascript 函数 elementFromPoint() ,我可以找到当前在给定坐标(x,y)处的元素,但此函数仅检查边界,而不检查实际可见性。例如如果<h1>包含文本 "HELLO" ,然后从“O”内部,背景(蓝色)div 实际上是可见的,但是 elementFromPoint()函数仍然检测到 <h1>在那里标记,因为它只检查 <h1> 的边界框.

是否有任何 javascript 函数/库可以用来检测某个点的实际可见对象? (我遇到的问题见下图)

See this picture below, I want a function which can detect the DIV correctly

最佳答案

使用visible selector :

$(selector).is(':visible');

你有这样的 html:

<div><h1></h1></div>

因此,将可见性隐藏到 div 它仍然显示 h1 标签。 demo

如果您将 display none 应用于 div,则 h1 标签将被隐藏。 demo


因此,您可能拥有可见性属性而不是显示属性。因此用 display: none;

改变它

关于javascript - 如何在给定点直接或通过另一个元素的空腔检测哪个元素可见/位于顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22553888/

相关文章:

php - Bootstrap 轮播指示器和控件不适用于 php

javascript - 在同一网页上使用多个audio.js 播放列表播放器?

javascript - 根据上一个元素点击切换显示

html - 垂直对齐文本与图标

html - css 和 js url 无法通过布局装饰在基本文件 thymeleaf 上工作

javascript - 如何在 javascript 和 jquery 中正确设置文本框值?

javascript - 如何更改范围 slider 标记?

javascript - jQuery 每个元素都收集数据值并使用条件进行正确的输出

javascript - 是否可以将 html 中的函数传递给 lit-element?

javascript - 西蒙游戏: Two colors in a row won't fade properly