使用jQuery获取元素是否在屏幕上可见(而不是对其他元素隐藏)

使用jQuery获取元素是否在屏幕上可见(而不是对其他元素隐藏),jquery,visibility,Jquery,Visibility,我有一个固定定位的div(“下方”)和一个相对定位的div(“上方”),在用户滚动窗口时滑动并覆盖第一个div: CSS .under { position:fixed; top:0px; z-index:1; display:block; width:300px; height:200px; background-color:#aaa; } .over { display:block; width:300px;

我有一个固定定位的div(“下方”)和一个相对定位的div(“上方”),在用户滚动窗口时滑动并覆盖第一个div:

CSS

.under {
    position:fixed;
    top:0px;
    z-index:1;
    display:block;
    width:300px;
    height:200px;
    background-color:#aaa;
}

.over {
    display:block;
    width:300px;
    height:1200px;
    position:relative;
    z-index:2;
    margin-top:200px;
    background-color:green;
}

我的目标是创建一个jQuery脚本,以触发“under”div完全被“over”div覆盖/隐藏的时刻。我想关键是要确定一个元素在屏幕上是否可见(其他元素没有覆盖)。可能吗


提前感谢。

@George您的意思是,如果滚动位置大于“低于”高度,则获取?我的目标是避免类似的情况(如果可能的话),因为这意味着代码取决于布局(在本例中,“under”div位于顶部的固定位置)。它更像是一种伪选择器或类似的东西,因为它是独立于布局的。但是,是的,您必须收听
滚动
事件。类似这样的东西会起作用:@George:你的小提琴工作正常,但不幸的是,正如所说的,它取决于布局。无论如何,谢谢你,+1的帮助。已经回答了。按照建议使用
document.elementFromPoint(x,y)
。非常有趣的一点。非常感谢@clapas