読み込み進捗バーのネイティブ 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

推薦する

VirtualBox+Ubuntu16でKubernetesクラスタを構築する実装

目次Kubernetesについて基本的な環境の準備VirtualBoxをインストールするUbuntu...

MySQL データ型 DECIMAL の使用方法の詳細な説明

MySQL DECIMALデータ型は、データベースに正確な数値を保存するために使用されます。会計シス...

CSS 垂直センタリングの代替実装コードの詳細な説明(非従来型)

序文ご存知のとおり、「CSS で要素を垂直方向に中央揃えするにはどうすればよいか」という質問は、すで...

MySQLマスタースレーブデータベース構築方法の詳細な説明

この記事では、MySQL マスター/スレーブ データベースの構築方法について説明します。ご参考までに...

mysql 実行プラン ID が空である (UNION キーワード) の詳細な説明

導入作業プロセス中に、遅いクエリが調整されることがあります。 MySQL SQL ステートメントのチ...

mysql 8.0.15 winx64 解凍バージョン グラフィック インストール チュートリアル

システムをインストールした後、毎回いくつかのソフトウェアを再インストールする必要があります。ソフトウ...

スタイルをより標準化するための CSS の書き方に関する 5 つのヒント

1. CSSをアルファベット順に並べるアルファベット順ではありません:コードをコピーコードは次のとお...

Linux での Tomcat8 のインストールとアンインストールに関する詳細なグラフィック チュートリアル

[ Tomcat8 の Linux インストール ] Tomcat をアンインストールする - まず...

HTML で色を表すには、6 桁の 16 進コード、RGB、またはキーワードを使用します。

HTML で色を表す方法は 3 つありますが、最もよく使われるのは 6 桁の 16 進コード表現です...

Idea の起動速度を改善し、Tomcat ログの文字化けを解決する方法

目次序文アイデアの起動速度Tomcat ログが文字化けしている序文Idea を再インストールしたので...

MySQL データベースの手動およびスケジュールされたバックアップ手順

目次手動バックアップタイマーバックアップ手動バックアップ1) cmd コンソール: mysqldum...

MySQL でのトランザクションの使用方法

基礎トランザクションは、SQL ステートメントのグループに対するアトミック操作です。つまり、グループ...

MySQLで偽または真を保存する方法

MySQL ブール値、偽または真を格納つまり、データベースに保存されるブール値は 0 と 1 であり...

MySQL エラー「すべての派生テーブルには独自のエイリアスが必要です」の解決方法

MySQL は、マルチテーブルクエリを実行するときにエラーを報告します。 [SQL] SELECT ...

html+cssレイアウトの3つの方法(ナチュラルレイアウト/フローレイアウト/ポジショニングレイアウト)

1. 自然なレイアウト<br />レイアウトは変更せずに自動的に左揃えになります。 2....