2017-07-19 10 views
3

長いリストがあるとしましょう。最初は表示されないアイテムもあります。ウェブページロングリストアイテムの印象

ユーザーが画面をスクロールすると、さらにいくつかの項目が表示されます。

<ul> 
    <li> 
    <li> 
    <li> 
    --------not seen at the beginning------- 
    <li> 
    <li> 
    <li> 
    .... 
</ul> 

どのアイテムがユーザーに表示されているかを判断するベストプラクティスは何ですか?

おそらくImpressionとして知られていますが、それについては何も見つかりませんでした。任意のHTML要素で

+0

あなたは画面上にあるアイテムを検出する技術的な手段を意味しますか?または[UX](http://ux.stackexchange.com)についてより抽象的なもの? – deceze

+0

これらのアイテムの表示を決定することがなぜ重要であるか質問できますか?ちょうど私たちがXY問題を持っていないことを確認したいのです。 – domsson

+0

はおそらく、ビューポートに表示されるものだけを表示します。ユーザーがスクロールダウンしようとすると、ビューポートに表示されなくなるまで次のものをフェッチします。繰り返す... –

答えて

0

、あなたはgetBoundingClientRect()を使用して、画面上の位置を取得することができます:

const rect = element.getBoundingClientRect(); 

結果はproperites toprightbottomleftwidthheightを持つオブジェクトです。

また、ウィンドウの高さを確認してください:

const height = window.innerHeight; 

さて、あなたはそれが見えるかどうかを決定するために、ウィンドウの高さを持つ要素の境界矩形のtopbottom値を比較することができます

function isVisible(rect, height) { 
    return rect.top >= 0 && rect.bottom < height; 
} 

表示されている要素の割合を確認することもできます(インプレッションのカウントを開始する際には、フルビューかパーシャルビューかによって異なります)。

関連する問題