お世話になっております。
理想
アニメーションの対象→div.sub-staffの小要素div.staff5つ
①スクロールして表示領域に達したら、上の要素から順番にfade inする(=addClassする)
かつ、
②スクロールせずとも画面リロードなどで最初から表示領域に達していたら、上から順番にfade inする(=addClassする)
現状
スクロールでは順番にfade inされる。→①はできている。
最初から表示領域にいる場合には、fade inする要素が全て同時にfade inしてくる→②ができていない
知りたいところ
②が実現するための方法を知りたいです。
ご教授ください。
現状のコード
HTML
1<div class="section sub-staff"> 2 <div class="staff fade_off"></div> 3 <div class="staff fade_off"></div> 4 <div class="staff fade_off"></div> 5 <div class="staff fade_off"></div> 6 <div class="staff fade_off"></div> 7</div>
javascript
1var staffs = $('#staff .sub-staff').children(); 2$(staffs).each(function(i) { 3 var ptop = $(".sub-staff .staff").eq(i).offset().top; 4 if(scroll > ptop - windowHeight + 100) { 5 $(".sub-staff .staff").eq(i).addClass('fade_on').delay(250).queue(function() { 6 $(this).dequeue(); 7 }); 8 } 9});
CSS
1fade_off { 2 opacity: 0; 3 -webkit-transition: all 2s; 4 -moz-transition: all 2s; 5 -o-transition: all 2s; 6 -ms-transition: all 2s; 7 transition: all 2s; 8 transform: translateY(100px); 9} 10 11fade_on { 12 opacity: 1; 13 transform: translateY(0px); 14
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/12 02:54