速報

imgproxyのICO処理にコード実行のおそれ|4.0.16だけでは残る問題を確認

CATEGORY

【JavaScript】読み込み中のローディング画面をサクッと実装する

※本ページのリンクにはプロモーションが含まれています。

【JavaScript】読み込み中のローディング画面をサクッと実装する

目次

本記事では、JavaScriptで読み込み中のローディング画面をサクッと実装する方法をご紹介しています。

読み込み中のローディング画面を簡単に作りたいんだけど、良い方法ないかな?

上記の疑問にお答えします。

では、解説していきます。

スポンサーリンク

作成するローディング画面

本記事で作成するローディング画面のサンプルです。「Run Pen」をクリックするとローディング画面が表示されます。

See the Pen 6180 by ryohei (@intotheprogram) on CodePen.

上記のサンプルでは空白のページを読み込んでいるためローディング時間は短いですが、ページに実装する場合は文書の読み込み時間も含まれます。そのためもう少し長い間ローディング画面が表示されるかと思います。

ローディングが終わった後はローディング画面をフェードアウトするアニメーションを設定しています。この辺の時間も好きに設定することができます。

サンプルも見ていただいたことですし、さっそく作成方法を見ていきましょう!

SpinKitから好きなアニメーションを選択する

まずはローディング画面に表示する動くアイコンを選びます。紹介しているサイトは沢山ありますが、今回はHTMLとCSSだけで利用することができる下記のサイトのものを利用します。

上記のリンクを開くとスライド形式でローディングアニメーションのサンプルが表示されています。好きなものを選択し、ページ上部にある「Source」のリンクをクリックすると、ローディングアニメーションのHTMLとCSSを取得することができます。次項で使用しますのでコピーしておきましょう。

スポンサーリンク

ローディング画面のHTMLを設置する

続いてローディング画面で使用するアイコンなどを設置していきます。

前項で取得したHTMLをラップする形でHTMLを追加します。id名はloaderとしていますが、任意のものに変更していただいて大丈夫です。その場合は以降に登場するloaderの部分も変更していただければと思います。

<div id="loader">
    <div class="spinner">
      <div class="cube1"></div>
      <div class="cube2"></div>
    </div>
</div>

以上でローディング画面のHTMLの設置は完了です。続いてローディング画面を非表示にするアニメーションを作成していきます。

ローディング画面を非表示にするアニメーションを作成する

ローディング画面を非表示にするアニメーションを作成していきます。

本記事では、ローディング画面を非表示にするアニメーションはフェードアウトする形で作成しています。

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        display: none;
        opacity: 0;
        z-index: -1;
    }
}

#loader { width: 100%; height: 100vh; background-color: #00c2bc; /* 環境によって「z-index」追加 */ }

/* 読み込み完了後に「loaded」を付与する */ #loader.loaded { animation: fadeOut 3s forwards; }

/* 以降「SpinKit」で選んだアニメーションのCSSを貼付する */

アニメーションは好きに変更していただいて大丈夫です。ページの読み込み完了後にidがloaderの要素に「loaded」を付与することでローディング画面を非表示にします。その点だけご認識いただければと思います!

ここまででHTMLやCSSの準備は完了です。最後にページ読み込みが完了した際にclassを付与するスクリプトを作成してローディング画面を完成させましょう!

スポンサーリンク

ページ読み込み完了後にローダーを非表示にするclassを付与する

ではページ読み込み完了後にローダーを非表示にするclassを付与する処理を作成していきます。

といっても特に難しいことはしていません。ページの読み込みが完了するとidがloaderの要素を取得して、loadedのclassを付与する処理を実行するだけです。

window.onload = ()=>{
    const loader = document.getElementById('loader');
    loader.classList.add('loaded');
}

以上でローディング画面の作成は完了です!お疲れ様でした!

最後に

最近ではページの読み込みスピードを優先してサイト制作をすることが多いですが、を気にしないでよかったり、グラフィカルなサイトを作りたいといった理由でローディング画面の実装を希望される方は結構います。基本的な作り方を知っておくと色々と応用が利きますので、ぜひ本記事の内容を足掛かりに見た目に素晴らしいローディング画面を作成してみてくださいね!

以上、JavaScriptで読み込み中のローディング画面をサクッと実装する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

SEO

検索エンジン最適化。Googleなどの検索結果で、Webサイトが見つけてもらいやすくなるよう工夫すること。

詳しく見る