1

我有一个带有lis 的列表。每个项目在集合中都有一个对应的对象。当我开始滚动列表时,我现在想知道实际的第一个可见项目是什么,以及它在我的收藏中的位置。在我的第一个版本中,这很容易,因为每个项目都有相同的高度,我可以将列表的 scrollTop 除以项目的高度。但在我们的新版本中,每个项目都可以有不同的高度。

问题是它是一个可无限滚动的列表,而且它必须在移动设备上运行。所以也许有更好的解决方案然后迭代所有项目并总结它的高度直到它大于列表的滚动顶部。

有没有常见的方法来处理这个问题。

4

1 回答 1

1

好的,我找到了一个简单的方法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>

例子

于 2012-08-09T07:10:54.680 回答