在jQuery中,选择在较小div的窗口内的元素

时间:2012-06-23 18:19:36

标签: jquery position coordinates offset

我有一个无序列表,它是较小父div中的子节点,并在第一个div中滚动。如何选择第一个div窗口中当前可见的<li>

我试过的是使用父容器的jQuery偏移坐标和我从here得到的elementFromPoint

xcoo = $('#menuholder1').offset().left;
ycoo = $('#menuholder1').offset().top;
clickedID = document.elementFromPoint(xcoo, ycoo).id;

但是,这会使元素返回一个更高的项目。所以我尝试添加到ycoo但是它什么也没有返回。

有没有人有另一种解决方案?有问题的页面是http://do.right.by

1 个答案:

答案 0 :(得分:0)

我已使用此插件选择可见元素:http://archive.plugins.jquery.com/project/viewport

它添加了伪选择器:in-viewport,因此您可以这样选择:

$("li:in-viewport")

要将其应用于父元素而不是窗口,请在此处获取修改后的源代码:https://gist.github.com/2979829

对于看起来像这样的IIFE

(function($, window) {
    //bunch of code...
})(jQuery, "#menuholder1");

#menuholder1是选择父元素的查询。