HTML
1<div id="loader"> 2 Loading <span id="load-text">0%</span> 3 <div id="bar"><span></span></div> 4 </div> 5 <img src="素材/robbot.jpg" alt="" />
CSS
1body{ 2 background-color: #000; 3 } 4#loader { 5 font-family: 'Marvel', sans-serif; 6 margin: 0 auto; 7 width: 300px; 8 text-align: center; 9 font-size: 25px; 10 color: #efefef; 11 margin-top: 300px; 12 display:none; 13 } 14#bar { 15 width: 300px; 16 height: 2px; 17 border:1px solid #efefef; 18 padding: 1px; 19 margin-top: 10px; 20 font-size: 1px; 21 } 22#bar span { 23 display:block; 24 width:0px; 25 height:2px; 26 background-color: #efefef; 27 } 28
jQuery
1$(function() { 2 var h = $(window).height(); 3 4 $('img').css('display','none'); 5 $('#loader').height(h).css('display','block'); 6 var count= 0; 7 8 var timer = window.setInterval(function() { 9 if (count >= 100) { 10 window.clearInterval(timer); 11 $('#loader').fadeOut('slow', function() { 12 $('img').fadeIn('slow'); 13 }); 14 } else { 15 if (count <= 100) { 16 count++; 17 $('#load-text').html(count + '%'); 18 $('#bar span').css('width', count + '%'); 19 } 20 } 21 },30) 22});
【やりたいこと】
ローディング中のみローディング画面を表示させて
ローディングが完了したらローディング画面を非表示にして
トップページを表示させたい。
また、今のプログラムだと100%になったらローディング画面がfadeOutする
ようになっているのですが、ローディング完了時に100%になってfadeOutする
プログラムにしたい。なのでローディングの量?に合わせて%が増えていくようにしたい。
今回記載してあるHTMLでいうと#loaderがローディング画面で
imgがトップページという設定です。
【困っていること】
今の時点でページのローディングが完了してから0%~100%になるプログラムが発生しているので
ローディング中に0%~100%になるプログラムを発生させるため
$(window).on('load',function () {});をvar timer = window.setInterval(function() {........});に囲んでみましたが、プログラムが起動しませんでした。
プログラミングについては素人なのでそもそもそのやり方が合ってないかもしれませんが思いつくことは試してみました。
回答1件
あなたの回答
tips
プレビュー