1

我正在尝试制作一个单页网站。

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

我有一种感觉 jquery 会做到这一点。

这是我的意思的一个例子。 如果导航链接链接到的部分在页面上可见,请注意导航链接如何突出显示

有人可以帮忙吗??

4

3 回答 3

4

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

如果您想查看某个元素当前是否在视口中可见,一种解决方案可能是研究使用jQuery 的视口选择器。

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

这是一个使用它的例子。

于 2013-05-07T22:55:46.793 回答
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/

显然,您可以将其应用于任何类型的元素。

于 2013-05-07T22:50:35.600 回答
0

你可以试试 :

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

还有一个.is('hidden')可以使用。

于 2013-05-07T22:50:52.287 回答