1

s のリストがありliます。すべてのアイテムには、コレクション内の対応するオブジェクトがあります。リストをスクロールし始めると、実際に最初に表示されているアイテムと、コレクション内のその位置が知りたいです。私の最初のバージョンでは、すべてのアイテムの高さが同じで、リストの scrollTop をアイテムの高さで割るだけで簡単にできました。しかし、私たちの新しいバージョンでは、すべてのアイテムの高さが異なる可能性があります。

問題は、無限にスクロール可能なリストであり、モバイル デバイスで実行する必要があることです。したがって、すべてのアイテムを繰り返し処理し、リストのスクロールトップよりも大きくなるまで高さを合計するよりも良い解決策があるかもしれません。

その問題を処理する一般的な方法はありますか。

4

1 に答える 1

1

OKを使用して簡単な方法を見つけました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 に答える