前提
サイトアクセス時に画像および文字をjsで一瞬表示しているのですが、
画像の読み込みに時間が多くかかっており、フェードアウトの時間を長くせざるを得ない状態になっています。
1度サイトに訪問するとキャッシュが残るため、再度アクセスした際に画像がすぐに表示され、3秒が長く感じてしまいます。
実現したいこと
画像をすぐに表示し、フェードアウト時間を短くできる方法はありますでしょうか。
もしくは画像読み込みが終わってからフェードアウトできるように設定する方法はありますでしょうか。
該当のソースコード
php
1 <div class="first-img"> 2 <p><img src="<?php echo esc_url(get_template_directory_uri()); ?>/imgs/top/visual_bg.jpg" alt=""></p> 3 <span> 4 美容専門のコンシェルジュが、<br> 5 提供する「最高の美」 6 </span> 7 </div>
js
1 function firstimg() { 2 $('.first-img p').fadeIn(50); 3 $('.first-img span').fadeIn(500); 4 } 5 setTimeout(firstimg, 10); 6 7 setTimeout(function () { 8 $('.first-img').fadeOut(50); 9 $('#main').fadeIn(50); 10 }, 3000); //3秒後にロゴ含め真っ白背景をフェードアウト 11})(jQuery);
css
1.first-img { 2 background: #000; 3 position: fixed; 4 top: 0; 5 left: 0; 6 height: 100%; 7 width: 100%; 8 z-index: 9000; 9 background-size: cover; 10 11} 12.first-img p { 13 position: fixed; 14 z-index: 9998; 15 transform: translate(-50%, -50%); 16 display: none; 17 height: 100%; 18 width: 100%; 19 left: 50%; 20 top: 50%; 21} 22.first-img span { 23 font-family: "Noto Sans CJK JP Medium", sans-serif; 24 font-size: 3.8rem; 25 position: fixed; 26 letter-spacing: 0.1em; 27 color: #fff; 28 text-align: center; 29 z-index: 9999; 30 display: none; 31 justify-content: flex-end; 32 bottom: 200px; 33 width: 100%; 34}
試したこと
画像の容量を小さくしてみましたが、変わりませんでした。
また下記コードを試しましたが、firstimgを取得できず、logが出力されない状態です。
php
1 <div class="first-img" > 2 <p><img src="<?php echo esc_url(get_template_directory_uri()); ?>/imgs/top/visual_bg.jpg" alt="r" id="firstimg"></p> 3 <span> 4 美容専門のコンシェルジュが、<br> 5 提供する「最高の美」 6 </span> 7 </div>
js
1 function firstimg(){ 2 3 $('.first-img p').fadeIn(500); 4 $('.first-img span').fadeIn(500); 5 }; 6 setTimeout(firstimg, 10); 7 window.addEventListener('DOMContentLoaded', function(){ 8 var img_elements = document.getElementById('firstimg'); 9 for (var i = 0; i < img_elements.length; i++) { 10 img_elements[i].addEventListener('load', (e) => { 11 console.log(" load"); 12 }); 13 img_elements[i].src = img_elements[i].getAttribute("src"); 14 } 15 });
補足情報
visual_bg.jpg 751 × 1335 140KB
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/05/14 05:32
2022/05/14 05:54
2022/05/16 11:57