超簡単 javascriptとcssで作る簡易ローディング画面

超簡単 javascriptとcssで作る簡易ローディング画面

簡易ローディング画面を、javascriptとcssで、jQueryなしでつくりました。

仕組は超簡単。

html

<!-- ローディング用 -->
<div id="loading">
<img src="img/loading.gif" alt="loading">
</div>
<!-- コンテンツ -->
<div id="contents" class="hidden">
<img src="img/img01.jpg" alt="">
<img src="img/img02.jpg" alt="">
<img src="img/img03.jpg" alt="">
<img src="img/img04.jpg" alt="">
<img src="img/img05.jpg" alt="">
<img src="img/img06.jpg" alt="">
<img src="img/img07.jpg" alt="">
<img src="img/img08.jpg" alt="">
</div>
<!-- ローディング用 --> <div id="loading"> <img src="img/loading.gif" alt="loading"> </div> <!-- コンテンツ --> <div id="contents" class="hidden"> <img src="img/img01.jpg" alt=""> <img src="img/img02.jpg" alt=""> <img src="img/img03.jpg" alt=""> <img src="img/img04.jpg" alt=""> <img src="img/img05.jpg" alt=""> <img src="img/img06.jpg" alt=""> <img src="img/img07.jpg" alt=""> <img src="img/img08.jpg" alt=""> </div>
<!-- ローディング用 -->
<div id="loading">
	<img src="img/loading.gif" alt="loading">
</div>
<!-- コンテンツ -->
<div id="contents" class="hidden">
	<img src="img/img01.jpg" alt="">
	<img src="img/img02.jpg" alt="">
	<img src="img/img03.jpg" alt="">
	<img src="img/img04.jpg" alt="">
	<img src="img/img05.jpg" alt="">
	<img src="img/img06.jpg" alt="">
	<img src="img/img07.jpg" alt="">
	<img src="img/img08.jpg" alt="">
</div>

ローディング時に見せる画面を
<div id=”loading”></div>
で用意。
GIFアニメでローディングの画像を用意しました。

ローディング完了したら表示するコンテンツを
<div id=”contents”></div>
で用意しました。
あらかじめ非表示にするので、hiddenというクラスをつけています。

css

#loading {
width: 100%;
height: 100vh;
background-color: #fff;
position: relative;
}
#loading img {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.hidden {
display: none;
}
#loading { width: 100%; height: 100vh; background-color: #fff; position: relative; } #loading img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } .hidden { display: none; }
#loading {
	width: 100%;
	height: 100vh;
	background-color: #fff;
	position: relative;
}
#loading img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.hidden {
	display: none;
}

ローディング画面は、画面いっぱいの白背景に、真ん中にGIFアニメ。

コンテンツを非表示にしておく、クラスhiddenはdisplay: none;としました。

javascript

// loadingのdivを取得
var loading = document.getElementById('loading');
// contentsのdivを取得
var contents = document.getElementById('contents');
// 読み込みが完了したら
window.addEventListener('load', function () {
// loadingのdivを非表示に
loading.style.display = 'none';
// contentsのdivを表示
contents.classList.remove('hidden');
});
// loadingのdivを取得 var loading = document.getElementById('loading'); // contentsのdivを取得 var contents = document.getElementById('contents'); // 読み込みが完了したら window.addEventListener('load', function () { // loadingのdivを非表示に loading.style.display = 'none'; // contentsのdivを表示 contents.classList.remove('hidden'); });
// loadingのdivを取得
var loading = document.getElementById('loading');
// contentsのdivを取得
var contents = document.getElementById('contents');

// 読み込みが完了したら
window.addEventListener('load', function () {
	// loadingのdivを非表示に
	loading.style.display = 'none';
	// contentsのdivを表示
	contents.classList.remove('hidden');
});

window.addEventListener(‘load’, function 〜
を使用して、ページの読み込みが完了したら、
loadingのdivにdisplay: none;を追加して非表示に、
contentsのdivを非表示にしていたhiddenクラスを削除して表示。

デモ

デモはこちら