前提・実現したいこと
要素が画面内に入ったらふわっとフェードインさせたいです
発生している問題
一つ目のdivはふわっとフェードインするのですが、2つ目以降はもうすでに表示されていて
フェードインされないです。
該当のソースコード
HTML
1<div class="main1 fadein"> 2 <h2>タイトル</h2> 3 <p>テキストテキストテキストテキストテキストテキスト</p> 4</div> 5<div class="main2 fadein"> 6 <h2>タイトル</h2> 7 <p>テキストテキストテキストテキストテキストテキスト</p> 8</div> 9<div class="main3 fadein"> 10 <h2>タイトル</h2> 11 <p>テキストテキストテキストテキストテキストテキスト</p> 12</div>
CSS
1 .main1 { 2 width: 900px; 3 height: 1000px; 4 background-color: gray; 5 } 6 7 .main2 { 8 width: 900px; 9 height: 1000px; 10 background-color: pink; 11 } 12 13 .main3 { 14 width: 900px; 15 height: 1000px; 16 background-color: green; 17 } 18 19 .fadein { 20 opacity : 0.1; 21 transform : translate(0, 50px); 22 transition : all 500ms; 23 } 24 25 /* 画面内に入った状態 */ 26 .fadein.scrollin { 27 opacity : 1; 28 transform : translate(0, 0); 29 }
JS
1$(function(){ 2 $(window).scroll(function (){ 3 $('.fadein').each(function(){ 4 var elemPos = $(this).offset().top; 5 var scroll = $(window).scrollTop(); 6 var windowHeight = $(window).height(); 7 if (scroll > elemPos - windowHeight + 200){ 8 $(this).addClass('scrollin'); 9 } 10 }); 11 }); 12})
試したこと
●https://imasashi.net/element-fadein.html
上記のサイトを参考にしていたのですが、背景の色がついていないとわかりづらいと思い
sectionタグからdivタグに変えたところ動作確認ができなくなってしまいました。
どなたか詳しい方いらっしゃいましたらご教授いただきたいです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。