お世話になります。
要素を下からフェードさせることは実装できたのですが、横からフェードさせる方法とふわっとフェードインされるような(ゆっくり要素が出現する感じ)記述がわかりません。
inviewでは実装できましたが、今回jQeryを使わない記述をご教示いただきたいです。
よろしくお願いいたします。
JS
1 /*================================================= 2 スクロール時の画像フェード表示 3 ===================================================*/ 4 // スクロール時のイベント 5 $(window).scroll(function () { 6 // fadeinクラスに対して順に処理を行う 7 $('.fadein').each(function () { 8 // スクロールした距離 9 let scroll = $(window).scrollTop(); 10 // fadeinクラスの要素までの距離 11 let target = $(this).offset().top; 12 // 画面の高さ 13 let windowHeight = $(window).height(); 14 // fadeinクラスの要素が画面下にきてから200px通過した 15 // したタイミングで要素を表示 16 if (scroll > target - windowHeight + 200) { 17 $(this).css('opacity', '1'); 18 $(this).css('transform', 'translateY(0)'); 19 } 20 }); 21 });
CSS
1.fadein { 2 opacity: 0; 3 transform: translateY(10px); 4 transition: all 1s; 5}
はい、javascriptを使用して実装したいです。上のコードは要素が下から出る形ですが、スクロールして要素が画面に入ったら横から出てくるバージョンと、ふわっと要素が出てくるバージョンを知りたいです。
codepenはやり方がわかりません。すみません。
動きはこの参考ページ、要素1と要素3のような感じです。
よろしくお願いいたします。