ウェブページの読み込み進捗状況バーの詳細な説明(推奨)

ウェブページの読み込み進捗状況バーの詳細な説明(推奨)

(Web ページの読み込み中に、コンテンツが多すぎて読み込みと待機が続くことがあります。このとき、Web ページは白く表示され、何も表示されないため、ユーザーに非常に悪いエクスペリエンスを与えます。そのため、通常、Web ページが正常に読み込まれる前に、進行状況バーの形でユーザーに表示されます。ユーザーにアニメーションを見せて、Web ページが読み込まれていることを知らせます)

一般的な方法は次のとおりです。

1. タイマー進捗バー(偽物)

<script type="text/javascript"> 
    $(関数(){ 
        var loading='<div class="loading"><div class="pic"></div></div>'; 
        $("body").append(読み込み中); 
        setInterval(関数(){ 
            $(".loading").fadeOut(); 
        },3000); 
    }); 
</スクリプト>

2. 実際にコンテンツを取得し、読み込み進捗バーを確認する

実際のコンテンツに応じてプログレスバーを読み込むには、次の 2 つの知識ポイントを導入します。

document.onreadystatechange ページの読み込み状態が変わったときのイベント
document.readyStateは現在のドキュメントのステータスを返します
1. 初期化されていない - まだロードされていない
2. 読み込み
3. インタラクティブ - 読み込まれると、ドキュメントとユーザーが対話を開始できます。
4. 完了 - 読み込みが完了しました

2.1. 上記のタイマー コードは次のように変更できます。

document.onreadystatechange=関数(){ 
         document.readyState=="完了"の場合{ 
                  $(".loading").fadeOut(); 
         } 
}

2.2. プログレスバーを小さなCSSアニメーションにして表示する

推奨ウェブサイト: https://preloaders.net/ このウェブサイトには、読み込み中を示すさまざまな小さなアニメーションがあります

http://autoprefixer.github.io/ CSS にオンラインでプレフィックスを追加する

https://loading.io/ プログレスバーアニメーション

2.3: ヘッドの進行方向を下図のように配置します。

注: この実装では、実際には読み込みの進行状況は表示されませんが、上から下にコードを実行するという原則を使用して、コード内のさまざまな場所で線の幅を変更し、ページの最後で幅を 100% にします。

以下のように表示されます。

2.4 リアルタイムでデータの読み込みの進行状況バーを取得する

画像オブジェクトを作成します: image object name = new Image();
onload イベントを使用します。注意: src 属性は onload の後に記述する必要があります。そうしないと、プログラムは IE で失敗します。

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してご連絡ください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

<<:  LinuxにNginxをインストールする詳細な手順

>>:  JavaScript ウェブページ入門開発詳細説明

推薦する

Vueコンポーネント間の通信の非常に詳細な要約

目次序文1. Props、$emit一方向データフロー2. $親、$子3. $attrs、$list...

MySQLカスタム関数の原理と使用法の分析

この記事では、例を使用して MySQL カスタム関数の原理と使用方法を説明します。ご参考までに、詳細...

sqlmap インジェクションの詳細なグラフィック説明

目次1. この Web サイトには SQL インジェクションの脆弱性がある可能性があることが判明しま...

antd ツリーと親子コンポーネント間の値転送問題について (React のまとめ)

プロジェクト要件: 製品ツリー ノードをクリックすると、そのノードのすべての親ノードが取得され、表に...

HTML チュートリアル: title 属性と alt 属性

XHTML は CSS レイアウトの基礎です。jb51.net は常に XHTML 知識の習得を重視...

Linux カーネル デバイス ドライバーのメモリ管理に関する注意事項

/************************ * Linux メモリ管理 *********...

vue $http の get および post リクエストのクロスドメイン問題を解決する

Vue $http get および post リクエストのクロスドメイン問題まずconfig/ind...

JS は VUE コンポーネントに基づいて都市リスト効果を実装します

この記事の例では、VUEコンポーネントに基づいて都市リストエフェクトを実装するための具体的なコードを...

フロントエンドパフォーマンス最適化に関する補足記事

序文私は、Web サイトのフロントエンド パフォーマンス最適化のための JavaScript と C...

Win10にnginxをインストールして設定するプロセス

1. はじめにNginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プロキ...

MySQL データベースの集計クエリと結合クエリ操作

目次1. クエリ結果を挿入する2. 集計クエリ2.1 はじめに2.2 集計関数2.3 group b...

Windows 10 に MySQL 8.0.19 を zip 形式でインストールする詳細なチュートリアル

目次1.ダウンロード後、インストールしたいディレクトリに解凍します。 2. インストールディレクトリ...

Vueは複数の画像の追加、表示、削除を実装します

この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...

Windows 10 での Tomcat のインストールと展開に関する詳細なチュートリアル

目次1 Java環境の設定2 tomcatのインストールと展開Tomcat をインストールして展開す...

オーディオマニアにアピールするオーディオビジュアルLinuxディストリビューション

私は最近、多くの音楽に特化した Linux ディストリビューションの 1 つである Audiovis...