ホームページ > ウェブフロントエンド > jsチュートリアル > ユーザーがjQueryで特定の要素にスクロールしたときにイベントをトリガーするにはどうすればよいですか?

ユーザーがjQueryで特定の要素にスクロールしたときにイベントをトリガーするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-31 07:15:02
オリジナル
650 人が閲覧しました

How to Trigger an Event When a User Scrolls to a Specific Element with jQuery?

ユーザーが jQuery で特定の要素にスクロールしたときにイベントをトリガーする

Web 開発では、多くの場合、ユーザーがスクロールしたときにイベントをトリガーする必要があります。ページ上の特定の要素までスクロールします。これは、コンテンツの公開や更新、アニメーションのトリガー、または通知の表示に役立ちます。

これを jQuery で実現するには、ウィンドウ オブジェクトのスクロール イベントを利用できます。ただし、単に $('#scroll-to').scroll() を使用するだけでは十分ではありません。スクロール イベントは現在ページに表示されている要素に対してのみ発生します。

代わりに、jQuery のoffset() 関数を使用してウィンドウに対する要素の位置を決定し、outerHeight() 関数を使用して高さを取得します。これらの値をウィンドウの高さおよびscrollTopの値と比較することで、要素が現在ユーザーのビューにあるかどうかを判断できます。

たとえば、次のコードは #scroll-to h1 要素のオフセットと高さを計算します。

$(window).scroll(function() {
  var hT = $('#scroll-to').offset().top,
      hH = $('#scroll-to').outerHeight(),
      wH = $(window).height(),
      wS = $(this).scrollTop();
  if (wS > (hT + hH - wH)) {
    console.log('H1 is in the viewport!');
  }
});
ログイン後にコピー

この方法では、ページ上の位置に関係なく、h1 要素がユーザーのビューにスクロールするたびにイベントをトリガーできます。このコードを調整して、指定した要素が表示されたときに任意のアクションを実行できます。

以上がユーザーがjQueryで特定の要素にスクロールしたときにイベントをトリガーするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート