Webサイトでよく見かける、表示領域に入ったら要素がふわっと出てくるアニメーションを実行したいです。
そこで、jQueryを使って試したのですが、表示領域前にアニメーションが実行されてしまいます。
表示領域内で、ページを再読み込みなどをしてみると確かにアニメーションは動いています。
下のコードのどこを改善すれば良いでしょうか?
jQuery 3.5.1バージョン
jQueryのコード
'use strict';
$(function(){
$(window).scroll(function (){
$('.fadein').each(function(){
let position = $(this).offset().top;
let scroll = $(window).scrollTop();
let windowHeight = $(window).height();
if (scroll > position - windowHeight + 200){
$(this).addClass('active');
}
});
});
});
アニメーションを実行したい要素(HTML)
html
1コードの表示(ブロック) 2 <div class="second"> 3 <img src="images/man.jpg" class ="fadein" rel="m-picture"> 4 </div> 5``` <div id="second"> 6CSS 7.fadein { 8 opacity : 0; 9 transform : translate(0, 100px); 10 transition : all 1s; 11} 12 13.active { 14 opacity : 1; 15 transform : translate(0, 0); 16}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。