是否有任何方法或JavaScript库,可以看到一个元素是否真的完全可见?举个例子,假设你需要某些元素,而不是之间显示出一些UI按钮占用更多的空间在页面上,因为这个例子: https://jsfiddle.net/akyh7e5f/有没有办法看到元素是否可见,可点击?
HTML:
<div style="width:50%; display:inline-block">
<div class="a">
<div>
Some content here.
</div>
<div class="inserter">
insertme
</div>
</div>
<div class="b">
<div>
some other content
</div>
</div>
</div>
<div style="width:49%; display:inline-block">
<div class="a" style="z-index:1">
<div>
Some content here.
</div>
<div class="inserter">
insertme
</div>
</div>
<div class="b" style="z-index:2">
<div>
some other content
</div>
</div>
</div>
CSS:
.a {
height:80%;
background: blue;
position:relative;
}
.b {
padding:30px;
background:green;
position:relative;
}
.inserter {
position:absolute; z-index:9999;
left:50%; margin-left:-20px;
background: red;
}
在一种情况下,元素在里面,并在另一种情况下显示,因为其他元素的zindex比insertme元素的容器多。我可以使它body>元素直接子元素,但是每次改变元素的高度都需要改变位置。
,直到它的元素,可见后,您可以移动红色元素了一个DOM元素,然后做一些计算的顶部/左,
或,或许更高性能,它从绝对到相对变化并且占用空间,在第二种情况下它不会显示(从设计角度来看,这不是很好)。
在这两种情况下,我需要知道元素(此元素中的红色元素)实际上是否可见并且可点击且元素上方没有元素。有没有可以找到这个的图书馆?
请不要回复jsfiddle的具体建议 - 这是一个最小的测试用例,假设许多不同的样式可能以任何方式为主题页面,更不用说用户添加的样式。另外请不要提硒,因为这必须是一个浏览器只有动态的应用程序。
@guradio你显然没有看过的问题。 – ceejayoz
我看到一个可能在这里有帮助的例子:http://stackoverflow.com/questions/5598953/find-elements-that-are-stacked-under-visually-an-element-in-jquery ...可能是一个缓慢的方法来做到这一点。希望这可以帮助。 –
@LeonBambrick非常接近这个问题,你也可能会觉得这很有帮助。 http://stackoverflow.com/questions/4230029/jquery-javascript-collision-detection –