超簡単 javascriptとcssで作る簡易ローディング画面
- 2019.02.23
- javascript+css つくったもの
- 脱jQuery
簡易ローディング画面を、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”></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;
}
ローディング画面は、画面いっぱいの白背景に、真ん中に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');
});
window.addEventListener(‘load’, function 〜
を使用して、ページの読み込みが完了したら、
loadingのdivにdisplay: none;を追加して非表示に、
contentsのdivを非表示にしていたhiddenクラスを削除して表示。
デモ
-
前の記事
記事がありません
-
次の記事
javascriptとcssで作るカテゴリーソート機能 2019.02.23