【发布时间】:2012-06-23 18:19:35
【问题描述】:
我有一个无序列表,它是一个较小的父 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
【问题讨论】:
-
您的方法(要求浏览器在某个位置查找元素)对我来说似乎有点尴尬。你知道每个 LI 元素的高度,以及它的容器的 scrollTop 位置,所以你可以自己计算哪个元素在某个位置(在视图中),不是吗?
-
同意@schellmax ,代码也会更容易阅读。还请查看
position()方法
标签: jquery position coordinates offset