titleというクラス名を持った要素にcssアニメーションをあて、可視範囲(厳密には要素がスクリーン下から1/4)に到達時に開始させたいのですが、cssの内容をjsで記述する部分でつまづいています。。
お手数おかけしますが、どのように記載すれば良いか、ご教示頂けたら幸いです。
HTML
1<section> 2 <figure> 3 <a class="content_link"><img src="img/dummy.png" sizes="100vw"></a> 4 </figure> 5 <h2 class="title">title</h2> 6</section>
CSS
1.title { 2 -webkit-animation: fadein 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both; 3 animation: fadein 1s cubic-bezier(0.215, 0.610, 0.355, 1.000) both; 4} 5 6@-webkit-keyframes fadein { 7 0% { 8 letter-spacing: 1em; 9 -webkit-transform: translateZ(400px) translateY(-300px); 10 transform: translateZ(400px) translateY(-300px); 11 opacity: 0; 12 } 13 40% { 14 opacity: 0.6; 15 } 16 100% { 17 -webkit-transform: translateZ(0) translateY(0); 18 transform: translateZ(0) translateY(0); 19 opacity: 1; 20 } 21} 22@keyframes fadein { 23 0% { 24 letter-spacing: 1em; 25 -webkit-transform: translateZ(400px) translateY(-300px); 26 transform: translateZ(400px) translateY(-300px); 27 opacity: 0; 28 } 29 40% { 30 opacity: 0.6; 31 } 32 100% { 33 -webkit-transform: translateZ(0) translateY(0); 34 transform: translateZ(0) translateY(0); 35 opacity: 1; 36 } 37}
JS
1$(function(){ 2 $(".title").css("opacity","0"); 3 $(window).scroll(function (){ 4 $(".title").each(function(){ 5 var imgPos = $(this).offset().top; 6 var scroll = $(window).scrollTop(); 7 var windowHeight = $(window).height(); 8 if (scroll > imgPos - windowHeight + windowHeight/4){ 9 $(".title",this).css("opacity","1" ); 10 $(".title",this).css({ 11//この部分 12 }); 13 } else { 14 $(".title",this).css("opacity","0" ); 15 } 16 }); 17 }); 18 });