Html 实现动态显示颜色块的报表效果(实例代码)
利用html的颜色块动态展示数据
<style type="text/css"> *{ padding: 0; margin: 0; } .tubiao,.jihua,.shiji,.riqi{ width: 100%; overflow: hidden; margin-top: 10px; } .left{ width: 10%; float: left; text-align: center; height: 25px; line-height: 25px; } .right{ width: 90%; float: right; height: 25px; } span { width: 5%; height: 100%; text-align: center; display: inline-block; } </style>
<body> <div class="tubiao"> <div class="jihua"> <div class="left">计划</div> <!--计划span存放的地方--> <div class="right plan"></div> </div> <div class="shiji"> <div class="left">实际</div> <!--实际span存放的地方--> <div class="right act"></div> </div> <div class="riqi" id="day_id"> <!--日期存放的地方--> <div class="right day"></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++){ time_span(d3[i]); } //alert("6:"+d1.length+"---"+"3:"+d2.length); //alert("d3.length:"+d3.length); for(var i=0;i<d1.length;i++){ add_span(d1[i],d2[i],i); } 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是对象看到的宽度(不含边线,即border) span1.style.width = (plan.clientWidth/num*a) + "px";//计划的每一格的宽度 //插入节点span1至plan plan.appendChild(span1); span2.style.backgroundColor = "000000"; span2.style.width = (plan.clientWidth/num*b) + "px";//实际的每一格的宽度 act.appendChild(span2); }else{ //alert("a:"+a+"b:"+b+"i:"+i); if(a=="0"){ span1.style.backgroundColor = "000000"; span1.style.width = (plan.clientWidth/num*a) + "px";//计划的每一格的宽度 //插入节点span1至plan plan.appendChild(span1); }else{ span1.style.backgroundColor = spa; //clientWidth是对象看到的宽度(不含边线,即border) span1.style.width = (plan.clientWidth/num*a) + "px";//计划的每一格的宽度 //插入节点span1至plan plan.appendChild(span1); } if(b=="0"){ span2.style.backgroundColor = "000000"; span2.style.width = (plan.clientWidth/num*b) + "px";//实际的每一格的宽度 act.appendChild(span2); }else{ span2.style.backgroundColor = spa; span2.style.width = (plan.clientWidth/num*b) + "px";//实际的每一格的宽度 act.appendChild(span2); } } } //日期的数据插入 function time_span(time){ //创建span块 var span = document.createElement("span"); span.style.width = (plan.clientWidth/num*1) + "px";//每一个span的宽度 span.innerHTML = "" + time; day.appendChild(span); } //随机函数 function rnd(min,max){ return Math.round(Math.random()*(max - min)+min); } function QueryData() { var displayStyle = "1"; $.ajax({ type: "post", url: "Test.aspx", dataType: "text", data: { "DispalyStyle": displayStyle }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown + XMLHttpRequest.responseText); }, success: function (json) { try { load_first(json); } catch (e) { } } }); } //QueryData(); </script> </body>
以上所述是小编给大家介绍的Html 实现动态显示颜色块的报表效果(实例代码),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
栏 目:CSS/HTML
下一篇:概述页面中浮动与清除浮动
本文标题:Html 实现动态显示颜色块的报表效果(实例代码)
本文地址:https://www.xiuzhanwang.com/a1/CSS_HTML/9573.html
您可能感兴趣的文章
- 04-02好看的字体样式css,好看的字体样式图片
- 04-02html中加入css样式的简单介绍
- 01-10通过html为FLASH加链接的实现代码(div层)
- 01-10IE浏览器HTML Hack标签总结
- 01-10html用style添加属性示例
- 01-10HTML中rel属性分析
- 01-10HTML元素设置焦点的方法
- 01-10在html文件里include文件内容的方法小结
- 01-10常用HTML meta 标签属性(网站兼容与优化需要)
- 01-10用HTML和CSS打造属于自己的暖男“大白”
阅读排行
本栏相关
- 04-02表格样式css样式,css样式表单
- 04-02好看的字体样式css,好看的字体样式图
- 04-02分页样式css,分页样式jq
- 04-02分页样式css,分页样式栏里用来定义首
- 04-02css样式的引入,css样式怎么引入
- 04-02css滚动条样式,css滚动条的样式
- 04-02css样式引入方式有几种,网页引入css样
- 04-02html中加入css样式的简单介绍
- 04-02vue中的css样式布局,vue添加css样式
- 04-02内嵌样式css,内嵌样式表,内部样式表
随机阅读
- 01-10C++实现将数组中的值反转
- 01-11常用的HTML富文本编译器UEditor、CKEdi
- 08-05织梦dedecms首页调用缩略图为背景
- 01-10vue实现分页加载效果
- 08-05dedecms织梦模板编辑文档的同时自动更
- 01-10C语言打印杨辉三角示例汇总
- 01-10bat批处理彻底隐藏文件的方法(使用
- 08-05dedecms织梦模板全站调用收藏数的方法
- 01-10C++ 类访问控制的条件总结
- 08-05DEDECMS点击主栏目默认显示第一个子栏