ホームページ >ウェブフロントエンド >jsチュートリアル >## 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 サイトの他の関連記事を参照してください。