https://from44.co.jp/
上記サイトのSERVICE部分のようなアニメーションを実装したいと考えています。
写真ではなく、アニメーションの後に文字を表示させたいと考えています。
https://web.runland.co.jp/blog_cate0/post-2944
このサイトを参考に書いているのですが、アニメーションが正しく動きません。
アニメーションさせるテキストの位置が、ページを読み込んだ時にあらかじめ表示されているため、発火条件を変えれば動くのではないかと考えています。
html
1<div class="wrap"> 2 <div class="inner"> 3 <span class="mask">テキスト</span><br> 4 <span class="mask">テキスト</span> 5 </div> 6</div>
CSS
1/*----追記---*/ 2.wrap{ 3 position: relative; 4 background-image: url("../img/bg.jpg"); 5 background-size: cover; 6 background-position: center; 7 height: 84vh; 8 font-family: 'Noto Sans JP',sans-serif; 9 } 10.inner{ 11 position: absolute; 12 top: 50%; 13 right: 16%; 14 -webkit-transform: translateY(-50%); 15 transform: translateY(-50%); 16 text-align: right; 17} 18/*----追記ここまで---*/ 19 20.inner div span{ 21 display: inline-block; 22 font-size: 2.8rem; 23 color: #fff; 24 background-color: #000; 25 margin-bottom: 20px; 26 padding: 6px 10px; 27} 28.mask-wrap{ 29 display: table; 30 overflow: hidden; 31} 32.mask-wrap .mask{ 33 display: table; 34 position: relative; 35 margin-bottom: .25em; 36 left: -100%; 37 overflow: hidden; 38} 39.mask-wrap .mask-bg{ 40 display: block; 41 position: absolute; 42 left: 0; 43 top: 0; 44 width: 100%; 45 height: 100%; 46 background: #000;
jQuery
1$(function(){ 2 speed = 1000; 3 easing = "easeInOutCubic"; 4 // タグ生成 5 $(".mask").wrap("<div class='mask-wrap'>"); 6 $(".mask").append("<div class='mask-bg'></div>"); 7 $('.mask').on('inview',function(event,isInView,visiblePartX,visiblePartY){ 8 if(isInView){ 9 10 $(this).stop().animate({"left":"0%"},function(){ 11 $(this).find(".mask-bg").stop().animate({"left":"100%"}); 12 }); 13 14 } 15 16 }); 17}); 18コード
回答1件
あなたの回答
tips
プレビュー