画面に入ったら〜

デモ

スクロールしてください。特定の要素が画面内に入るとアラートが出ます。

1番目です。

2番目です。

JSコードコピー

使い方

画面に入ったことを検知したい要素に対して data-jscopyand="scrollin"を付与してください。
任意の処理をcallback関数の中に記述してください。

サンプルHTMLを表示する

解説

JSコードの解説を見てみる

監視対象となる要素全てをdocument.querySelectorAllで取得し、変数に格納します。

画面に入った時に処理したい内容を関数で定義します。
引数には画面に入った要素が渡ってくるようにします。
本デモでは画面に入った要素のテキストをアラートで出すようにしています。

監視の設定を行なっていきます。
new IntersectionObserverの戻り値を使うことで監視ができます。
この戻り値を変数に格納します。

IntersectionObserverの第1引数には、監視対象要素が画面に入った・出たときの処理を書いていきます。
entries[0]には監視情報が入っています。
画面に入った時を判断するには、entries[0].isIntersectingtrueかどうか?を確認します。
entries[0].targetには監視対象要素が入っているため、これを関数callbackに渡します。
一度画面に入ったら監視は不要のため、observer.unobserve(entries[0].target)で監視を解除しておきます。

IntersectionObserverの第2引数には監視の設定を書いていきます。
rootMarginを指定すれば画面内に入ったと判断する境界位置をずらすことができます。
thresholdは対象要素が何割画面に入ったら、という割合を指定することができます。
本デモでは対象要素の全体が画面内に入ったら、という設定にしています。

targetsを反復処理して監視を開始します。

ヘルプ・コンタクト

機能に関するご質問は、このページの下部に表示されている Twitter のアイコンから Twitter に遷移後、 DM 等でご連絡ください。
導入サポートやカスタマイズも有償にてお受け致しますので、 DM 等でご連絡ください。

他のコードを探す

リクエスト受付中です。
Twitter の固定ツイートか DM にてご連絡ください。