高さが固定されたスクロール可能な div があります。スクロール中に、表示されているビューポートの上部にある要素とビューポートの下部にある要素を取得する必要があります。scrollTop を使用してスクロールバーの位置を取得できますが、要素を取得する方法がわかりません。
更新:明確にするためにフォーマットされた質問。
高さが固定されたスクロール可能な div があります。スクロール中に、表示されているビューポートの上部にある要素とビューポートの下部にある要素を取得する必要があります。scrollTop を使用してスクロールバーの位置を取得できますが、要素を取得する方法がわかりません。
更新:明確にするためにフォーマットされた質問。
div のスクロール位置を取得する
var scrollY = document.getElementById("yourDiv").scrollTop;
内部の要素をループして、その位置を確認します
var divs = document.getElementById("yourDiv").getElementsByTagName("div");
alert(divs[0].offsetTop)
どちらがscrollTopの位置にあり、もう1つはscrollTop + heightの位置にあるかを把握します
DOM 要素を使用して div をループする必要があります。ここを見てください。役に立つリソースになると思います: http://www.howtocreate.co.uk/tutorials/javascript/dombasics
いくつかの配列とカウンターを使用すると、div の最後の要素を取得できるはずです。
あなたの DIV はテキスト行の長いリストであり、すべての行は均一な高さになると思います。これが正しい場合、ビューポートの一番上にあるのはどれかを計算することができるので、尋ねる必要はありません。
いずれにせよ、この内容の最初のページを完全に表示したいので、完全で表示可能な行を 1 つ作成し、その高さを尋ねて、それを覚えておいてください。次に、それらの合計の高さがウィンドウの高さよりも大きくなるまで、テキストを含む行をさらに追加します。次に、サムのサイズと位置がリストのサイズを正確に反映するように、1990 程度の空行を追加します。
次に、誰かがウィンドウをスクロールしたときに、どの行が表示されるかを計算できます。ビューから移動したものを消去し、表示する必要があるものを構築します。終わり!
(私は思う - 私はこれを試したことがない!)