javascriptに関する質問です。
要素(id="selectul")の30%が画面に表示されたときに、
要素がふわっと出現する(class= "boxappear"をidに付与する)Javascriptを実装しています。
しかし、
要素の30%を過ぎても要素が出現することがありません。
インターネットでも調べたのですが、うまくできなかったので
詳しい方にご教授して頂けると助かります。
また、私自身プログラミング初心者のため、お手柔らかにお願いいします。
jQueryを使用した方法もあるようですが、今回はjavascriptで実装したいと考えています。
また、とくにエラーなどはでていません。
よろしくおねがいします。
id="selectul"はulを使用したリストで、liの中にはselectタグ・aタグを使用しています。
css
1 2 3#selectul{ 4font-style: normal; 5font-weight: 700; 6font-size: 40px; 7line-height: 52px; 8color: #797979; 9text-align: center; 10margin:100px auto; 11opacity: 0; 12transform: translateY(30px); 13transition: all 1s; 14width: 1200px; 15height:700px; 16list-style-type: none; 17} 18 19.boxappear{ 20opacity: 1; 21transform: translateY(0); 22 23} 24
javascript
1 2{ 3const target = document.getElementById("selectul"); 4 5function callback(entries,obs){ 6console.log(entries[0]); 7 8if(!entries[0].isIntersecting){ 9return; 10} 11entries[0].target.classList.add("boxappear"); 12obs.unobserve(entries[0].target); 13} 14 15const option = { 16threshold: 0.3, 17}; 18const obsever = new IntersectionObserver(callback, option); 19obsever.observe(target); 20 21}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/10 03:39
2021/11/10 03:56 編集