我有一个li
的列表。每个项目在集合中都有对应的对象。当我开始滚动列表时,我现在想要看看实际的第一个可见项目,并了解它在我的集合中的位置。在我的第一个版本中很容易因为每个项目具有相同的高度,我可以将列表的scrollTop除以项目的高度。但在我们的新版本中,每件商品都有不同的高度。
问题是它是一个无限可滚动的列表,它必须在移动设备上运行。所以也许有更好的解决方案,然后迭代所有项目并总结其高度,直到它大于列表的scrollTop。
是否有常见的方法来处理这个问题。
答案 0 :(得分:0)
好的,我找到了一种使用document.elementFromPoint
的简便方法:
<script>
var span = $('span');
var ul = $('ul')
var y = ul.offset().left +1;
var x = ul.offset().top +1;
$('ul').scroll(function(){
var el = document.elementFromPoint(y,x);
span.html($(el).html())
})
</script>