Jquery如果div在页面上可见?

时间:2013-05-07 22:46:53

标签: jquery html css

我正在努力创建一个单页网站。

作为导航栏的一部分,我希望它突出显示某个链接如果页面上可以看到某个其他div。

我有一种感觉jquery会这样做。

Here is an example of what i mean. 请注意导航链接如何在页面上显示链接到的部分时突出显示

任何人都可以帮忙吗?

3 个答案:

答案 0 :(得分:4)

如果元素在DOM中可见,其他答案将返回true - 即使它们被设置为display:none并且在视觉上实际上不是“可见”。

如果您想查看视口中当前是否显示某个元素,可以使用Viewport Selectors for jQuery.

查看一个解决方案

然后,您可以使用$(":in-viewport")选择器检查元素当前是否在视口中(I.E.在物理上可见)。

Here's an example正在使用它。

答案 1 :(得分:1)

您可以使用:visible来检查某些内容是否可见。

检查元素是否可见:

if($(element).is(':visible'))

http://api.jquery.com/is/

您也可以选择可见的

var $list = $('li:visible');

您还可以过滤现有的jQuery元素数组

var $list = $('li');
var $visible = $list.filter(':visible');

http://api.jquery.com/filter/

显然你可以将它应用于任何类型的元素。

答案 2 :(得分:0)

您可以尝试:

if($('selector').is(':visible')){
    $('selector2').show();
}

还可以使用.is('hidden')