由于存在溢出,我隐藏了一堆元素:隐藏在父元素上。我创建了一个jQuery函数,它增加了边距,使用户点击时可以看到一组新元素。但是,我需要一种方法来检测最后一个元素何时可见,这样我就可以在达到结束时停止使用此功能。
我使用的功能是:
$(this).children('.Product').last().is(':visible')
我也尝试过:
$(this).children('.Product:last-child').is(':visible')
即使最后一个.Product元素在屏幕上可见,两者都返回false。
这应该有用吗? 有没有更好的方法可以做到这一点?
答案 0 :(得分:0)
你试过了吗?
$(this).children('.Product:last').is(':visible');
如果这不起作用,请尝试粘贴html代码或创建小提琴,以便我们更好地帮助您。
答案 1 :(得分:0)
:visible
规范说'如果元素占用文档中的空间,则认为元素是可见的。可见元素的宽度或高度大于零。 http://api.jquery.com/visible-selector/我想它不会检查元素是否进入视图。
答案 2 :(得分:0)
如上所述,:visible
如果元素具有可见性,则返回true,即它们不是display: none
,或者它们仍在影响dom的元素流。
您所追求的是他们是否在当前用户视口中:
See this Plugin: Viewport Selectors for jQuery
祝你好运!