カラーブロックレポート効果の動的な表示を実現する HTML (サンプルコード)

カラーブロックレポート効果の動的な表示を実現する HTML (サンプルコード)

HTMLカラーブロックを使用してデータを動的に表示する

<スタイル タイプ="text/css">
            *{
                パディング: 0;
                マージン: 0;
            }
            .tubiao、.jihua、.shiji、.riqi{
                幅: 100%;
                オーバーフロー: 非表示;
                上マージン: 10px;
            }
            。左{
                幅: 10%;
                フロート: 左;
                テキスト配置: 中央;
                高さ: 25px;
                行の高さ: 25px;
            }
            。右{
                幅: 90%;
                フロート: 右;
                高さ: 25px;
            }
            スパン {
                幅: 5%;
                高さ: 100%;
                テキスト配置: 中央;
                表示: インラインブロック;
            }
        </スタイル>
<本文>
        <div class="tubiao">
            <div class="jihua">
                <div class="left">計画</div>
                <!--計画スパンを保存する場所-->
                <div class="右プラン"></div>
            </div>
            <div class="shiji">
                <div class="left">実際</div>
                <!--実際のスパンが格納される場所-->
                <div class="正しい行為"></div>
            </div>
            <div class="riqi" id="day_id">
                <!--日付が保存される場所-->
                <div class="正しい日"></div>
            </div>
        </div>
        <script type="text/javascript">
            var temp1="0-0.5-2-2-2-2-1-1"; // 計画時間(ブロックの単位幅)
            var temp2="1-1-2-1-2-0-0-0"; //実際の消費時間(ブロックの単位幅)            
            var temp3="5/19-5/20-5/21-5/22-5/23-5/24-5/25-5/26-5/27-5/28";//包括的な日付var temp=temp1+"~"+temp2+"~"+temp3;                
            var plan = document.getElementsByClassName("plan")[0];
            var act = document.getElementsByClassName("act")[0];
            var day = document.getElementsByClassName("day")[0];
            var num = 20; // 作成するグリッドの数 load_first(temp);
            //データを分割してカラーブロックを追加する function load_first(temp){
                var demo = temp.split("~");
                var d1=demo[0].split("-");//予定時間(ブロックの幅単位)配列var d2=demo[1].split("-");///実際の時間(ブロックの幅単位)配列var d3=demo[2].split("-");//総合日付配列for(var i=0;i<d3.length;i++){
                    時間範囲(d3[i]);
                }
                //アラート("6:"+d1.length+"---"+"3:"+d2.length);
                //アラート("d3.length:"+d3.length);
                (var i=0;i<d1.length;i++){                
                    d1[i],d2[i],i を add_span します。
                }
                document.getElementById("day_id").style.marginLeft="-30px"; 
            }            
            //新しいカラーブロックを追加します。aは計画されたカラーブロックの幅、bは実際のカラーブロックの幅です。function add_span(a,b,i){
                //span ブロックを作成する var span1 = document.createElement("span");
                var span2 = document.createElement("span");
                //ランダムな背景色を定義する var spa = "rgba(" + rnd(0,255)+ "," + rnd(0,255)+ ","+ rnd(0,255)+ ","+ rnd(0.5,1) +")"; //各色はランダムに出てくる if(i==0){
                    span1.style.backgroundColor = "000000";
                    //clientWidth はオブジェクトの幅です(境界線を除く)
                    span1.style.width = (plan.clientWidth/num*a) + "px"; // プラン内の各グリッドの幅 // プランにノード span1 を挿入
                    プラン。
                    span2.style.backgroundColor = "000000";
                    span2.style.width = (plan.clientWidth/num*b) + "px"; //各グリッドの実際の幅 act.appendChild(span2);
                }それ以外{
                    //アラート("a:"+a+"b:"+b+"i:"+i);
                    if(a=="0"){
                        span1.style.backgroundColor = "000000";    
                        span1.style.width = (plan.clientWidth/num*a) + "px"; // プラン内の各グリッドの幅 // プランにノード span1 を挿入
                        プラン。
                    }それ以外{
                        span1.style.backgroundColor を設定します。
                        //clientWidth はオブジェクトの幅です(境界線を除く)
                        span1.style.width = (plan.clientWidth/num*a) + "px"; // プラン内の各グリッドの幅 // プランにノード span1 を挿入
                        プラン。
                    }
                    if(b=="0"){
                        span2.style.backgroundColor = "000000";
                        span2.style.width = (plan.clientWidth/num*b) + "px"; //各グリッドの実際の幅 act.appendChild(span2);                    
                    }それ以外{
                        span2.style.backgroundColor を設定します。
                        span2.style.width = (plan.clientWidth/num*b) + "px"; //各グリッドの実際の幅 act.appendChild(span2);
                    }                
                }
            }            
            //日付データ挿入関数 time_span(time){
                //span ブロックを作成します var span = document.createElement("span");                
                span.style.width = (plan.clientWidth/num*1) + "px"; //各スパンの幅 span.innerHTML = "" + time;
                day.appendChild(span);
            }
            //ランダム関数 function rnd(min,max){
                Math.round(Math.random()*(max - min)+min) を返します。                
            }
            関数QueryData() {
                var 表示スタイル = "1";
                $.ajax({
                    タイプ: "投稿",
                    URL: "Test.aspx",
                    データ型: "テキスト",
                    データ: { "表示スタイル": displayStyle },
                    エラー: 関数 (XMLHttpRequest、textStatus、errorThrown) {
                        アラート(エラースロー + XMLHttpRequest.responseText);
                    },
                    成功: 関数 (json) {
                        試す {
                            最初にjsonをロードします。
                        }
                        キャッチ(e){}
                    }
                });
            }
            //クエリデータ();
        </スクリプト>
    </本文>

上記は私が紹介した HTML レポート効果 (サンプル コード) です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  Bootstrap 3.0 学習ノート グリッドシステム事例

>>:  MySQLデータベースのマスタースレーブレプリケーションと読み取り書き込み分離に関する詳細なチュートリアル

推薦する

vite を使用して vue3 アプリケーションを構築する方法

1. インストールヒント: 現在、VUE3.0 の公式翻訳ドキュメントはありません。しかし、すでに誰...

MySQL 自動インクリメント ID のオーバーサイズ問題のトラブルシューティングと解決策

導入Xiao A がコードを書いていたところ、DBA Xiao B が突然、「急いでユーザー固有情報...

MySQL インデックスの詳細な説明

目次1. インデックスの基本1.1 はじめに1.2 インデックスの仕組み1.3 インデックスの種類1...

Uniappの小規模プログラム開発経験

1. 新しいUIプロジェクトを作成するまず、私たちの UI は ColorUI に基づいています。C...

Dockerの高可用性構成の詳細な説明

Docker の作成Docker Compose は、管理対象コンテナをプロジェクト、サービス、コン...

DockerでPrometheusをインストールする詳細なチュートリアル

目次1. Node Exporterをインストールする2. cAdvisorをインストールする3. ...

CSS 複数 3 列適応レイアウト実装の詳細な説明

序文従来のWEBレイアウトに沿うため、すべてヘッダーとフッターモードの左・中央・右レイアウトで書かれ...

Centos7.4 システムに yum ソースから mysql 5.6 をインストールする

システム環境: centos7.4 1. データベースがインストールされているかどうかを確認します。...

ミニプログラムはミニプログラムクラウドを使用してWeChatの支払い機能を実装します

目次1. WeChat Payを開く1.1 アフィリエイト加盟店番号1.2 加盟店番号を追加する1....

Vue3 親子コンポーネントパラメータ転送における sync 修飾子の使用法の詳細な説明

目次一方向データフローの説明Vue2.x の使用法親コンポーネントに変更を通知するイベントのフォーム...

JavaScript における Arguments オブジェクトの使用に関する詳細な説明

目次序文議論の基本概念議論の役割実パラメータと仮パラメータの数を取得する実際のパラメータ値を変更する...

uniappを使用してWeChatミニプログラムでEChartsを使用する方法

今日は、uniapp を使用して Echarts を統合し、マップ チャートを表示します。 mpvu...

JavaScript のよりエレガントなエラー処理方法 async await

目次背景なぜエラー処理が必要なのでしょうか? async await より適切なエラー処理まとめ要約...

Vue.jsはシンプルな折りたたみパネルを実装します

この記事では、Vue.jsの具体的なコードを共有して、シンプルな折りたたみパネルを実装する例を紹介し...

MySQLユーザーと権限管理の詳細な説明

この記事では、例を使用して MySQL ユーザーと権限の管理について説明します。ご参考までに、詳細は...