ホームページ >ウェブフロントエンド >jsチュートリアル >## jQuery を使用して要素がビューポートに表示されているかどうかを確認するにはどうすればよいですか?

## jQuery を使用して要素がビューポートに表示されているかどうかを確認するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-25 06:29:291073ブラウズ

## How to Check if an Element is Visible in the Viewport Using jQuery?

jQuery を使用したビューポート内の要素の可視性の検出

質問:

特定の要素が、 "media" クラスの要素は現在のブラウザのビューポート内にありますか?

回答:

要素がビューポート内に表示されているかどうかを確認するには、スクロール位置については、次のような jQuery 関数を利用できます:

<code class="js">$.fn.isInViewport = function() {
    var elementTop = $(this).offset().top;
    var elementBottom = elementTop + $(this).outerHeight();

    var viewportTop = $(window).scrollTop();
    var viewportBottom = viewportTop + $(window).height();

    return elementBottom > viewportTop && elementTop < viewportBottom;
};</code>

この関数は、要素の上部と下部の位置をビューポートの上部と下部の位置と比較します。要素の下部の位置がビューポートの上部よりも下にあり、上部の位置がビューポートの下部よりも上にある場合、その要素は表示されているとみなされます。

スクロールやサイズ変更による表示の変更を監視するには、次のイベント ハンドラーを使用できます。

<code class="js">$(window).on('resize scroll', function() {
    if ($('#Something').isInViewport()) {
        // Perform actions for visible elements
    } else {
        // Perform actions for non-visible elements
    }
});</code>

この関数は要素の垂直ビューポートのステータスのみを検査することに注意してください。ビューポートを水平に超えているかどうかは検証されません。

以上が## jQuery を使用して要素がビューポートに表示されているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。