カラーブロックレポート効果の動的な表示を実現する 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データベースのマスタースレーブレプリケーションと読み取り書き込み分離に関する詳細なチュートリアル

推薦する

JavaScript進捗管理の詳しい説明

目次序文質問原理テスト序文プログラムを作成するときに、読み込みの進行状況やアップロードの進行状況など...

MIME TYPEとは?MIME-Typesタイプコレクション

MIME タイプとは何ですか? 1. まず、ブラウザがコンテンツを処理する方法を理解する必要がありま...

Apache ab を使用して HTTP パフォーマンス テストを実行する

MacにはApache環境が付属していますターミナルを開き、sudo apachectl -v と入...

MySQLで一意のサーバーIDを生成する方法

序文MySQL では、server-id を使用してデータベース インスタンスを一意に識別し、それを...

MySQL 5.6 ルートパスワード変更チュートリアル

1. MySQL 5.6をインストールした後、正常に有効化できないMySQL の圧縮バージョンは、解...

MySQL シリーズ 11 ログ

チュートリアルシリーズMySQL シリーズ: MySQL リレーショナル データベースの基本概念My...

React で遅延読み込みを使用して最初の画面の読み込み時間を短縮する方法

目次使用インストールルーティングでどのように使用しますか?読み込み速度の比較最近、中間およびバックエ...

水平ヒストグラムを作成するための MySQL ソリューション

序文ヒストグラムは、RDBMS によって提供される基本的な統計情報です。最も一般的に使用されるのは、...

主要ブラウザとそのカーネルの紹介

トライデント コア: IE、MaxThon、TT、The World、360、Sogou Brows...

スマートCSSを使用して、ユーザーのスクロール位置に基づいてスタイルを適用します。

現在のスクロール オフセットを html 要素の属性に追加することで、現在のスクロール位置に基づいて...

Vueライフサイクル機能の詳細な説明

目次ライフサイクル関数一般的なライフサイクルフックVue のインスタンス破棄について:要約するライフ...

MAC 上の MySQL の初期パスワードを忘れた場合の対処方法

MACでMySQLの初期パスワードを忘れた問題を解決する方法を参考までに共有します。具体的な内容は次...

Dockerイメージの作成Dockerfileとコミット操作

イメージを構築するイメージを構築するには、主に 2 つの方法があります。実行中のコンテナをイメージに...

Linuxシステムにおける重要なサブディレクトリの問題について話す

/etc/fstabパーティション/ディスクを自動的にマウントし、マウントするパーティション/デバイ...

データベースのデフォルトパスを変更した後にmysqlが起動できない問題の解決策

序文mysql がデフォルトのデータベース パスを変更したため、サービスを開始できませんでした。ログ...