IntersectionObserverを使いスクロールしたら画面内に画像が入ったらイベントを起こすようなものを作ってます
通常bodyにあたるものだと思いますが、div領域(id obj)にIntersectionObserverをあてるにはどうしたらいいのでしょうか?
詳しい方お願いいたします
javascript
1<style> 2#space { 3background-color:aqua; 4height:130vh; 5} 6</style> 7 8<div id="obj" style="width:300px;height:300px;overflow-y:scroll;overflow-x: hidden;-webkit-overflow-scrolling: touch;"> 9<img class="target" src="https://lohas.nicoseiga.jp/thumb/2716331i?"> 10 11<div id="space"></div> 12 13<img class="target" src="https://lohas.nicoseiga.jp/thumb/2716331i?"> 14 15<div id="space"></div> 16 17<img class="target" src="https://lohas.nicoseiga.jp/thumb/2716331i?"> 18</div> 19 20<script> 21var options = { 22threshold:1 23}; 24 25a=document.querySelectorAll('.target'); 26c=a.length-1; 27 28const observer = new IntersectionObserver((entries) => { 29 30if (entries[0].intersectionRatio != 0) { 31 alert(entries[0]); 32} 33}, options); 34 35for(i=0;i<=c;i++){ 36 observer.observe(a[i]); 37} 38</script>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/29 08:45
2020/12/29 09:47 編集
退会済みユーザー
2020/12/29 11:13
退会済みユーザー
2020/12/29 11:17
退会済みユーザー
2020/12/29 11:24
退会済みユーザー
2020/12/29 12:31