HTMLドキュメントのブラウザウィンドウ内に表示される最初の段落を見つける方法を教えてもらえますか。つまり、最初の段落がドキュメント内ではなく(ウィンドウ領域よりも大きい場合があります)、ブラウザウィンドウ内(表示されている画面)に必要です。
*ドキュメント内のすべての「p」要素を取得して最初に表示される要素を見つけるためにトラバースする以外のPS *
HTMLドキュメントのブラウザウィンドウ内に表示される最初の段落を見つける方法を教えてもらえますか。つまり、最初の段落がドキュメント内ではなく(ウィンドウ領域よりも大きい場合があります)、ブラウザウィンドウ内(表示されている画面)に必要です。
*ドキュメント内のすべての「p」要素を取得して最初に表示される要素を見つけるためにトラバースする以外のPS *
私はこれがあなたが望むものだと思います:
$("p:visible:first")
オフセットに基づいて p タグにラベルを付ける何らかのメカニズムを考え出すことができます。そのため、ページが読み込まれると、p タグ (またはより良いセクション) をループし、オフセット位置に基づいてラベルを付ける必要があります。次に、ユーザーの現在のスクロール位置を最も近いオフセットpと比較するのは簡単なことです...
これには jQuery プラグインがあり、試してみることができます: www.appelsiini.net/projects/viewport
これはうまくいくはずです:
$(document).ready(function(){
var paragraphs = $('p');
var scrollTop = $(window).scrollTop();
var scrollBtm = scrollTop + $(window).height();
paragraphs.each(function(e){
var top = $(this).offset().top;
if (top > scrollTop && top < scrollBtm){
alert("Win");
return false;
}
});
});
編集:これはpタグをトラバースしていることを認識していますが、少なくとも「return false」を使用すると、すべてをループするのではなく、現在のビューの上にあるすべてのタグをループします。
編集 2: document.ready に段落の配列を作成する