自身の就活に活かすためのポートフォリオサイトを作っています。
一応は完成したのですが、動きが少ないのでは?と言われたため、スクロールすると要素が下からふわっと出てくる動きをつけようと思いました。
動くWEBデザインアイディア帳というサイトの「jQuery とCSS を組み合わせてスクロールをしたら要素を動かす」(https://coco-factory.jp/ugokuweb/jscss/)を参考にhtml,CSS,JSを書いてみましたが動作してくれません。
以下該当と思われる箇所抜粋です。
HTML
1 2 <section id="works" class="box fadeInUpTrigger"> 3 4 <h2>WORKS</h2> 5 <div class="under-box"></div> 6 <ul class="works-wrap gallery-list"> 7 <li> 8 <a href="img/works-1.PNG" class="gallery" data-group="gallery"><img src="img/works-1.PNG" alt="" 9 width="100"></a> 10 <h3><a href="https://intp.site/429/decoly">decoly</a></h3> 11 <p>Design / Coding (Responsive)</p> 12 </li> 13 <li> 14 <a href="img/works-2.PNG" class="gallery" data-group="gallery"><img src="img/works-2.PNG" alt="" 15 width="100"></a> 16 <h3><a href="https://intp.site/429/portfolio/">文芸作品集</a></h3> 17 <p>Design / Coding (Responsive)</p> 18 </li> 19 <li> 20 <a href="img/works-3.PNG" class="gallery" data-group="gallery"><img src="img/works-3.PNG" alt="" 21 width="100"></a> 22 <h3><a href="https://intp.site/429/misoshiru/">おみおつけ</a></h3> 23 <p>Design / Coding (一部Responsive)</p> 24 </li> 25 <li> 26 <a href="img/works-4.PNG" class="gallery" data-group="gallery"><img src="img/works-4.PNG" alt="" 27 width="100"></a> 28 <h3><a href="https://intp.site/429/zoological/">Zoo Logical</a></h3> 29 <p>Coding (一部Responsive)</p> 30 </li> 31 <li> 32 <a href="img/works-5.PNG" class="gallery" data-group="gallery"><img src="img/works-5.PNG" alt="" 33 width="100"></a> 34 <h3><a href="https://intp.site/429/hotelimperial/">Hotel Imperial Resoat Tokyo</a></h3> 35 <p>Coding (一部Responsive)</p> 36 </li> 37 <li> 38 <a href="img/works-6.PNG" class="gallery" data-group="gallery"><img src="img/works-6.PNG" alt="" 39 width="100"></a> 40 <h3><a href="https://intp.site/429/donguri/">どんぐりスウィーツ</a></h3> 41 <p>Coding</p> 42 </li> 43 </ul> 44 </section> 45
css
1 2/* ふわっとスクロール */ 3.fadeUpTrigger{ 4 opacity: 0; 5 } 6 7 .fadeUp { 8 animation-name: fadeUpAnime; 9 animation-duration:2s; 10 animation-fill-mode:forwards; 11 opacity: 0; 12} 13@keyframes fadeUpAnime{ 14from { 15 opacity: 0; 16 transform: translateY(100px); 17} 18to { 19 opacity: 1; 20 transform: translateY(0); 21} 22} 23/* ふわっとスクロールここまで */ 24
js
1// WORKS部分モーダル 2 3//3. 画像のモーダル 4$(".gallery").modaal({ 5 type: 'image', 6 overlay_close:true,//モーダル背景クリック時に閉じるか 7 before_open:function(){// モーダルが開く前に行う動作 8 $('html').css('overflow-y','hidden');/*縦スクロールバーを出さない*/ 9 }, 10 after_close:function(){// モーダルが閉じた後に行う動作 11 $('html').css('overflow-y','scroll');/*縦スクロールバーを出す*/ 12 } 13}); 14 15// WORKS部分モーダル ここまで 16 17// TOPリンクここから 18//スクロールした際の動きを関数でまとめる 19function PageTopAnime() { 20 var scroll = $(window).scrollTop(); 21 if (scroll >= 200){//上から200pxスクロールしたら 22 $('#page-top').removeClass('DownMove');//#page-topについているDownMoveというクラス名を除く 23 $('#page-top').addClass('UpMove');//#page-topについているUpMoveというクラス名を付与 24 }else{ 25 if($('#page-top').hasClass('UpMove')){//すでに#page-topにUpMoveというクラス名がついていたら 26 $('#page-top').removeClass('UpMove');//UpMoveというクラス名を除き 27 $('#page-top').addClass('DownMove');//DownMoveというクラス名を#page-topに付与 28 } 29 } 30} 31 32// 画面をスクロールをしたら動かしたい場合の記述 33$(window).scroll(function () { 34 PageTopAnime();/* スクロールした際の動きの関数を呼ぶ*/ 35}); 36 37// ページが読み込まれたらすぐに動かしたい場合の記述 38$(window).on('load', function () { 39 PageTopAnime();/* スクロールした際の動きの関数を呼ぶ*/ 40}); 41 42// #page-topをクリックした際の設定 43$('#page-top a').click(function () { 44 $('body,html').animate({ 45 scrollTop: 0//ページトップまでスクロール 46 }, 500);//ページトップスクロールの速さ。数字が大きいほど遅くなる 47 return false;//リンク自体の無効化 48}); 49 50// TOPリンクここまで 51 52 53// 動きのきっかけとなるアニメーションの名前を定義 54function fadeAnime(){ 55 56 //ふわっと動くきっかけのクラス名と動きのクラス名の設定 57 $('.fadeInUpTrigger').each(function(){ //fadeInUpTriggerというクラス名が 58 var elemPos = $(this).offset().top-50; //要素より、50px上の 59 var scroll = $(window).scrollTop(); 60 var windowHeight = $(window).height(); 61 if (scroll >= elemPos - windowHeight){ 62 $(this).addClass('fadeIn'); 63 // 画面内に入ったらfadeInというクラス名を追記 64 }else{ 65 $(this).removeClass('fadeIn'); 66 // 画面外に出たらfadeInというクラス名を外す 67 } 68 }); 69 70 //関数でまとめることでこの後に違う動きを追加することが出来ます 71 $('.fadeInDownTrigger').each(function(){ //fadeInDownTriggerというクラス名が 72 var elemPos = $(this).offset().top-50; //要素より、50px上の 73 var scroll = $(window).scrollTop(); 74 var windowHeight = $(window).height(); 75 if (scroll >= elemPos - windowHeight){ 76 $(this).addClass('fadeDown'); 77 // 画面内に入ったらfadeDownというクラス名を追記 78 }else{ 79 $(this).removeClass('fadeDown'); 80 // 画面外に出たらfadeDownというクラス名を外す 81 } 82 }); 83 84 85 }//ここまでふわっと動くきっかけのクラス名と動きのクラス名の設定 86 87 // 画面をスクロールをしたら動かしたい場合の記述 88 $(window).scroll(function (){ 89 fadeAnime();/* アニメーション用の関数を呼ぶ*/ 90 });// ここまで画面をスクロールをしたら動かしたい場合の記述 91 92 // 画面が読み込まれたらすぐに動かしたい場合の記述 93 $(window).on('load', function(){ 94 fadeAnime();/* アニメーション用の関数を呼ぶ*/ 95 });// ここまで画面が読み込まれたらすぐに動かしたい場合の記述
原因お分かりになる方いらっしゃいましたらご回答よろしくお願いいたします。
文字数の都合上抜粋となってしまいましたが、書かれていない部分で何か原因箇所に心当たりがありそうな場合はご連絡コメントいただければ対応させていただきます。
回答1件
あなたの回答
tips
プレビュー