1

由于溢出,我隐藏了一堆元素:隐藏在父元素上。我制作了一个 jQuery 函数,它添加到边距以使一组新元素在用户单击时可见。但是,我需要一种方法来检测最后一个元素何时可见,以便在到达终点后停止此功能的工作。

我使用的功能是这样的:

$(this).children('.Product').last().is(':visible')

我也试过:

$(this).children('.Product:last-child').is(':visible')

即使最后一个 .Product 元素在屏幕上可见,两者都返回 false。

这应该工作吗?有没有更好的方法可以做到这一点?

4

3 回答 3

0

:visible规范说'如果元素占用了文档中的空间,则它们被认为是可见的。可见元素的宽度或高度大于零。http://api.jquery.com/visible-selector/我想它不会检查元素是否在视图中。

于 2013-03-19T14:50:56.420 回答
0

如前所述,:visible如果它们的元素具有可见性,则返回 true,即它们不可见,display: none或者它们仍在影响 dom 的元素流。

您所追求的是他们是否在当前用户视口中:

请参阅此插件:jQuery 的视口选择器

祝你好运!

于 2013-03-19T14:54:47.943 回答
0

你有没有尝试过:

$(this).children('.Product:last').is(':visible');

如果这不起作用,请尝试粘贴 html 代码或创建小提琴,以便我们更好地帮助您。

于 2013-03-19T14:45:37.587 回答