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

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

(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 ウェブページ入門開発詳細説明

推薦する

HTML ハイパーリンク内の中国語文字化けの分析と解決

Vm 内のハイパーリンク URL は、Get 要求のパラメータとして中国語と連結する必要があります。...

Ubuntuにmysql5.7.10を手動でインストールする

このチュートリアルでは、UbuntuにMySQL 5.7.10を手動でインストールする手順を参考まで...

WeChatミニプログラム公式顔認証の詳しい説明

ミニプログラムはユーザーの個人情報を収集してアップロードしましたが、拒否されました。こんにちは、ミニ...

Vue での ElementUI の使用に関する詳細な説明

ログイン + セッションストレージエフェクト表示ログインに成功すると、ユーザー ID がフロントエン...

Linux で binlog ファイルの作成時間を表示するコマンド

目次背景分析する方法背景MySQL は 26 日の 16:23:49 に大量のスロー クエリを生成し...

CentOS 7.6 への MySQL 5.7 GA バージョンのインストール チュートリアル図

目次環境の準備環境の準備mariadbをアンインストールする rpm -qa | grep mari...

1つの記事でNavicat for MySQLの基本を理解する

目次1. データベース操作2. データ型3. バックアップとリカバリ3. 操作4. 上級5. 知識補...

Apache Superset を使用して ClickHouse データを視覚化する 2 つの方法

Apache Superset は、データを表示および探索する方法を提供する強力な BI ツールで...

画像をラベルとして使用すると、IE では for 属性が機能しません。

例えば:コードをコピーコードは次のとおりです。 <input type="check...

新しい CSS :where および :is 疑似クラス関数とは何ですか?

:is と :where とは何ですか? :is()と:where()は、セレクターを作成するとき...

MySQL インデックスのカーディナリティの概念と使用例

この記事では、例を使用して、MySQL インデックス カーディナリティの概念と使用方法を説明します。...

この記事では、Vue 3.0 レスポンシブの使い方を説明します。

目次ユースケースリアクティブAPI関連プロセス反応的なcreateReactiveObjectはレス...

MySql のインデックス、ロック、トランザクションの知識ポイントのまとめ

この記事では、MySql のインデックス、ロック、トランザクションに関する知識のポイントをまとめてい...

ウェブ開発で遭遇した問題と経験

<br />以下は開発中に遭遇した問題と、そこから得た経験です。デバッグに時間がかかりま...

CentOS の環境変数と設定ファイルの詳細な説明

序文CentOS 環境変数設定ファイル システムは階層型システムであり、他のマルチユーザー アプリケ...