画面に入ったら〜
デモ
スクロールしてください。特定の要素が画面内に入るとアラートが出ます。
1番目です。
2番目です。
JSコードコピー
使い方
画面に入ったことを検知したい要素に対して
data-jscopyand="scrollin"
を付与してください。
任意の処理をcallback
関数の中に記述してください。
解説
監視対象となる要素全てをdocument.querySelectorAll
で取得し、変数に格納します。
画面に入った時に処理したい内容を関数で定義します。
引数には画面に入った要素が渡ってくるようにします。
本デモでは画面に入った要素のテキストをアラートで出すようにしています。
監視の設定を行なっていきます。
new IntersectionObserver
の戻り値を使うことで監視ができます。
この戻り値を変数に格納します。
IntersectionObserver
の第1引数には、監視対象要素が画面に入った・出たときの処理を書いていきます。
entries[0]
には監視情報が入っています。
画面に入った時を判断するには、entries[0].isIntersecting
がtrue
かどうか?を確認します。
entries[0].target
には監視対象要素が入っているため、これを関数callback
に渡します。
一度画面に入ったら監視は不要のため、observer.unobserve(entries[0].target)
で監視を解除しておきます。
IntersectionObserver
の第2引数には監視の設定を書いていきます。
rootMargin
を指定すれば画面内に入ったと判断する境界位置をずらすことができます。
threshold
は対象要素が何割画面に入ったら、という割合を指定することができます。
本デモでは対象要素の全体が画面内に入ったら、という設定にしています。
targets
を反復処理して監視を開始します。
ヘルプ・コンタクト
機能に関するご質問は、このページの下部に表示されている Twitter
のアイコンから Twitter に遷移後、 DM 等でご連絡ください。
導入サポートやカスタマイズも有償にてお受け致しますので、 DM
等でご連絡ください。