進捗バー効果を実現するJavaScript

進捗バー効果を実現するJavaScript

この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

今回のエフェクト画像は以下の通り。

この例を実行するのは難しくありません。練習したとき、新しい知識のポイントはwindow.getComputedStyle()関数を使用して要素の幅の値を取得することでした。

一般的な考え方としては、最初にdivボックスに幅0のdivボックスを配置し、ボタンのonclickコールバック関数でタイマーを使用して幅の値を変更することです。

コードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta http-equiv="X-UA-compatible" content="IE=edge">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>ドキュメント</title>
    <スタイル>
        #容器 {
            幅: 500ピクセル;
            高さ: 200px;
            マージン: 50px 自動;
            位置: 相対的;
        }

        #箱 {
            幅: 260ピクセル;
            高さ: 30px;
            境界線: 1px ピンクの実線;
            境界線の半径: 16px;
            下マージン: 20px;
            パディング: 1px;
            オーバーフロー: 非表示;
        }

        #続き
            幅: 0;
            高さ: 100%;
            背景色: ピンク;
            境界線の半径: 16px;
        }

        #ボタン{
            位置: 絶対;
            左マージン: 110px;
            幅: 50px;
            高さ: 30px;
        }


        #文章 {
            表示: ブロック;
            位置: 相対的;
            左: 120px;
            下マージン: 20px;
        }

    </スタイル>
</head>

<本文>
    <div id="コンテナ">
        <div id="box" データコンテンツ前="22">
            <div id="続き"></div>
        </div>
        <div id="text">0%</div>
        <button id="btn">送信</button>
    </div>
    <スクリプト>
        box = document.getElementById("box"); とします。
        btn = document.getElementById("btn"); とします。
        cont = document.getElementById("cont"); となります。
        text = document.getElementById("text"); とします。

        関数 getstyle(obj, name) {
            if (window.getComputedStyle) {
                window.getComputedStyle(obj, null)[name]を返します。
            }
            それ以外 {
                obj.currentStyle[name]を返します。
            }
        }

        btn.onclick = 関数(){
            ini = 0 とします。
            num = setInterval(() => { とします。

                tem = parseInt(window.getComputedStyle(cont, null)["width"]); とします。
                今 = tem + 26 とします。

                (tem >= 260)の場合{
                    console.log(現在);
                    クリア間隔(数値);
                    戻る;
                }
                
                cont.style.width = now + "px";
                ini = ini + 10;
                text.innerText = ini + "%";

            }, 80);
        }
    </スクリプト>

</本文>

</html>

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

以下もご興味があるかもしれません:
  • JavaScript プログレスバーのいくつかのメソッド
  • js でプログレスバーを実装する方法
  • ウェブページの読み込み進捗バーコードを実現するJavaScriptは超シンプルです
  • js プログレスバー実装コード
  • JS プログレスバー効果実装コードの構成
  • JS は円形のプログレスバー(0~100%)の効果を実現します
  • Javascript jquery css で書かれたシンプルなプログレスバーコントロール
  • CSS+JS で実装されたプログレスバー効果
  • js はオーディオ制御プログレスバー機能を実現します
  • PHP で JavaScript とセッションを使用してファイルアップロードの進行状況バー機能を実装する

<<:  初心者向けの MySQL のインストール方法 (効果が実証済み)

>>:  MySQLデータベースがNULLを可能な限り避ける理由

推薦する

Vueはカスタムツリーコンポーネントを再帰的に実装します

この記事では、カスタムツリーコンポーネントを再帰的に実装するVueの具体的なコードを参考までに共有し...

CentOS7 ファイアウォール操作コマンドの完全なリスト

目次インストール: 1. ファイアウォールの基本的な使い方2. ファイアウォールd-cmdを設定する...

nginx proxy_cache バッチキャッシュクリアスクリプトの紹介

前書き: 以前、公式の nginx proxy_cache を CDN 静的キャッシュとして使用して...

Dockerコンテナデータをコピーしてバックアップする方法の詳細な説明

ここでは、Jenkins コンテナを例に 3 つの方法を紹介します。方法1コンテナをイメージにパッケ...

Linux 上の MYSQL 5.7 でルート パスワードを取得する際の問題 (テスト済み、利用可能)

目次1. --skip-grant-tables 経由で取得する1.1 my.conf を変更し、新...

時点に基づくMySQLクイックリカバリソリューション

なぜこのような記事を書いたかというと、数日前の夜、仕事が終わろうとしていたときに、業務側で突然、テー...

MySQLのさまざまなロックの概念的理解

楽観的ロック楽観的ロックは、主にデータ バージョン記録メカニズムに基づいて実装され、通常はデータベー...

Vue3 コンポジション API でロジックの再利用を実装する方法

Composition API はロジック再利用手順を実装します。ロジックコードを関数に抽出します。...

MySQL カーソルの概念と使用法の詳細な説明

この記事では、例を使用して MySQL カーソルの概念と使用方法を説明します。ご参考までに、詳細は以...

ES6 ループと反復可能オブジェクトの例

この記事では、ES6 の for ... of ループについて説明します。古い方法以前は、JavaS...

Vueはボトムクエリ関数を実装します

この記事では、ボトムクエリ機能を実装するためのVueの具体的なコードを例として紹介します。具体的な内...

今日は、珍しいけれど役に立つJSテクニックをいくつか紹介します

1. 戻るボタンhistory.back() を使用してブラウザの「戻る」ボタンを作成します。 &l...

ウェブページのフォント設定についての簡単な説明

サイト全体のフォントを設定することは、常にシンプルでありながら難しい作業です。深く掘り下げていくと、...

ApacheとTomcatを組み合わせて静的状態と動的状態を分離する方法

実験環境ApacheとTomcatは両方ともIPアドレス192.168.153.136のホストにイン...

WeChatアプレットはユーザーログインモジュールサーバーの構築を実装します

サーバーの構築には node.js を選択しました。まだインストールしていない方は、私の他の nod...