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

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

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

推薦する

Flask と Vue のフロントエンドとバックエンドを分離したプロジェクト展開のサンプル コード

以前、プロジェクトを開発しました。バックエンドのインターフェースを書くために Flask フレームワ...

Eclipse と IDEA 用に Tomcat サーバーを構成する方法

tomcat サーバーの構成誰もが Web について学習するときに、自分のツール用に Tomcat ...

Dockerを使用してLaravel開発環境を構築するための完全な手順

序文この記事では、Docker を使用して、ローカル コンピューターにインストールされている開発スイ...

CSS はモバイル互換性の問題を解決するために 0.5px の線を実装します (推奨)

【コンテンツ】: 1.背景画像のグラデーションスタイルを使用する2. スケールを使ってズームできる...

Tableとdivの簡単な紹介と使い方

ウェブフロントエンド1学生証名前性別年01張三男20 02李思女性21総人数60フォームのコンポーネ...

Ubuntu 上の MySQL における中国語文字化け問題の解決方法

問題を見つける最近 Django を学習しているのですが、MySQL データと組み合わせてデータを挿...

Mysql で自動増分主キー ID を更新するときに問題が発生しました

目次自動インクリメント ID を更新する理由は何ですか?質問解決方法これは私が知っている問題ですが、...

Linux で Xfce デスクトップ環境を使用すべき 8 つの理由

いくつかの理由(好奇心も含む)から、数週間前に Linux デスクトップとして Xfce を使い始め...

MySQL でよく使われる連結文のまとめ

はじめに: MySQL では、CONCAT() 関数を使用して複数の文字列を 1 つの文字列に連結し...

MySQL 5.7 の sql_mode のデフォルト値によって生じる落とし穴と解決策

通常のプロジェクト開発中に、MySQL バージョンが 5.6 から 5.7 にアップグレードされた場...

iframe タグの使用方法の詳細な説明 (属性、透明度、適応高さ)

1. iframe の定義と使用法iframe 要素は、別のドキュメントを含むインライン フレーム...

Mybatis ファジークエリ実装方法

Mybatis ファジークエリ実装方法mybatis のリバース アシスタントは非常に使いやすく、通...

MySQL における楽観的ロックと悲観的ロックの例

データベース管理システムにおける同時実行制御のタスクは、データベース内の同じデータに同時にアクセスす...

VMware Workstation 15 Pro に Ubuntu 1804 をインストールするチュートリアル (画像とテキスト付き)

このメモはインストール チュートリアルです。実用的な意味はありません。記録のためだけに書いています。...

JavaScript デザインパターン コマンドパターン

コマンド パターンは、JavaScript デザイン パターンにおける動作デザイン パターンです。定...