読み込み進捗バーのネイティブ JS 実装

読み込み進捗バーのネイティブ JS 実装

この記事では、ネイティブ JS によって実装された動的読み込みプログレス バーの特殊効果を紹介します。効果は次のとおりです。

実装されたコードは次のとおりです。

<!DOCTYPE html>
<html>
 
<ヘッド>
    <meta http-equiv="コンテンツタイプ" コンテンツ="text/html; charset=utf-8" />
    <title>読み込み進捗バーのネイティブ JS 実装</title>
    <スタイル>
        #進捗ボックス{
            幅: 300ピクセル;
            高さ: 40px;
            境界線: 1px 実線 #C8C8C8;
            背景: 白;
            位置: 相対的;
            マージン: 0 自動;
            上マージン: 100px;
        }
 
        #プログレスバー{
            位置: 絶対;
            左: 0;
            上: 0;
            zインデックス: 2;
            高さ: 40px;
            幅: 100%;
            行の高さ: 40px;
            色: 白;
            テキスト配置: 中央;
            フォントサイズ: 20px;
            フォントの太さ: 太字;
            フォントファミリー: Georgia;
            クリップ: rect(0px, 0, 40px, 0px);
            背景: #00A1F5;
        }
 
        #進捗テキスト{
            位置: 絶対;
            左: 0;
            上: 0;
            zインデックス: 1;
            幅: 100%;
            高さ: 40px;
            行の高さ: 40px;
            色: 黒;
            テキスト配置: 中央;
            フォントサイズ: 20px;
            フォントの太さ: 太字;
            フォントファミリー: Georgia;
        }
    </スタイル>
    <スクリプト>
        window.onload = 関数(){
            // 現在の開始状態の値を設定します。
            // 実際の状況では、HTML5 の onprogress と onload を使用してこれを完了します // バックグラウンドと連携して、ajax を介してリアルタイムでデータを返すこともできます var iNow = 0;
            // タイマーを設定する var timer = setInterval(function () {
                // 現在の値が100の場合
                (iNow == 100)の場合{
                    // タイマーをクリアします clearInterval(timer);
                }それ以外 {
                    // 現在の状態値に1を加算する
                    iNow += 1;
                    // 実行ステータス関数を呼び出してステータス値を渡します progressFn(iNow);
                }
 
            }, 30);
 
 
            関数progressFn(cent) {
                // 最も外側のdivを取得する
                var oDiv1 = document.getElementById('progressBox');
                // 内部プログレスバーのdivを取得する
                var oDiv2 = document.getElementById('progressBar');
                // 内部テキストが変更されたときにdivを取得します
                var oDiv3 = document.getElementById('progressText');
 
                // プログレスバーの合計幅を取得します。var allWidth = parseInt(getStyle(oDiv1, 'width'));
 
                // 2 つの内部 div のテキスト コンテンツを同じに設定します oDiv2.innerHTML = cent + '%';
                oDiv3.innerHTML = セント + '%';
 
                // クリップの幅を変更します oDiv2.style.clip = 'rect(0px, ' + cent / 100 * allWidth + 'px, 40px, 0px)';
 
                // 現在の要素の属性値を取得する function getStyle(obj, attr) {
                    // IE 互換
                    (obj.currentStyle)の場合{
                        obj.currentStyle[attr]を返します。
                    }それ以外 {
                        // 2 番目のパラメータは false です。これは一般的な記述方法です。これは古いバージョンとの互換性のためです。 return getComputedStyle(obj, false)[attr];
                    }
                }
            }
        };
    </スクリプト>
</head>
 
<本文>
    <div id="プログレスボックス">
        <div id="progressBar">0%</div>
        <!-- 進捗がテキストを超えたときにテキストの色を変更するように 2 番目のレイヤーを設定します -->
        <div id="progressText">0%</div>
    </div>
</本文>
 
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JS はプログレスバーの動的な読み込み効果を実現します
  • js+HTML5 キャンバスでシンプルな読み込みバー (プログレスバー) 関数を実装する例
  • JS+WCF を使ってプログレスバー付きのデータ読み込みのリアルタイム監視を実装する方法の詳細な説明
  • js プログレスバーの読み込み効果のシンプルな実装
  • JS 非同期読み込みプログレスバーの簡単な分析
  • js ajax 読み込み進捗状況バーコード
  • pace.js ページ読み込み進捗バープラグイン
  • ウェブページの読み込み進捗バーコードを実現するJavaScriptは超シンプルです
  • jQuery プラグイン NProgress.js は Web ページの読み込み進捗状況バーを作成します
  • ページ読み込み進捗バーコードを実装する JavaScript

<<:  Dockerを使用してクローンリポジトリを使用してGitイメージを構築する

>>:  HTML テーブルタグチュートリアル (21): 行の境界線の色属性 BORDERCOLOR

推薦する

echarts ワードクラウドチャートを使用した Vue の実践記録

echartsワードクラウドはechartsの拡張版ですhttps://echarts.apache...

電子署名を実装するWeChatミニプログラム

この記事では、WeChatミニプログラムで電子署名を実装するための具体的なコードを参考までに紹介しま...

ウェブフォーム送信方法の詳細な概要

まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...

Google ブラウザのラベルと入力間のスペースに関する小さな問題

最初にコード、次にテキストコードをコピーコードは次のとおりです。 <!DOCTYPE html...

1つの記事でJavaScriptのクロージャ関数について学ぶ

目次変数のスコープ閉鎖の概念クロージャの使用クロージャのデメリット最後に、クロージャのメリットとデメ...

WangEditor リッチ テキスト コンポーネントを Angular でカプセル化する方法

リッチ テキスト コンポーネントは、Web プログラムで、特にブログやフォーラムなどの Web サイ...

CSS3 を使用して中心点の周りに要素を配置する方法の例

この記事では、CSS3 を使用して中心点を中心に要素をレイアウトする方法の例を紹介します。詳細は次の...

Dockerを使用してNextCloudネットワークディスクを展開する方法

NextCloud コンピュータ上の任意のファイルやフォルダを共有し、NextCloud サーバーと...

ウェブページ内でウェブテーブルやdivレイヤーが引き伸ばされる問題の解決策

<br />Web ページをデザインするときには、いつも不快なことに遭遇します。最も一般...

CSS モジュールソリューション

CSS のモジュール ソリューションは、JS のモジュール ソリューションと同じくらい多く存在すると...

MySQL で高性能なインデックスを作成するための完全な手順

目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...

Windows での MySQL 5.7.18 のインストールと設定のチュートリアル

この記事では、WindowsでのMySQL 5.7.18のインストールと設定のチュートリアルを参考ま...

Vue シングルファイルコンポーネントの実装

最近、vue について読みました。これまで基本的に見落としていた単一ファイル コンポーネントを見つけ...

MYSQLは、ショッピングカートに追加する際に重複追加を防ぐためのサンプルコードを実装します。

序文最近、仕事の都合で、APP ショッピングカートの注文支払いに取り組んでいました。テスト中にバグが...

HTML pre タグ内の自動改行

このとき、overflow:auto;(コードがコンテナの境界を超えたときにスクロールボックスを表示...