スクロール可能なブロック内の要素がユーザーに表示されている (つまり、スクロール可能な親の表示領域にある) かどうかを検出する方法は?
スクロールを持つすべての親ノードを反復処理することを含まない、普遍的な解決策はありますか?
PS 私が持っていたアイデアの 1 つは でしたが、要素のgetElementAtPoint
少なくとも50%が表示されているかどうかを判断する必要がある場合、頭痛の種になります。したがって、理想的には、ソリューションには、要素の四角形とウィンドウの 2 つの四角形の間の衝突検出が含まれる必要があります。
PPS 私が思いついたもう 1 つのアイデアはscrollIntoView
、問題の要素で を使用し、その位置の違いを判断してから、元の位置にスクロールして戻すことです。scrollIntoView
ウィンドウと内部のスクロール可能なブロックの両方をスクロールします。