发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
上上周用FusionCharts做报表时,有个图是进度条的形式,其实在FusionCharts 3.0之后已经支持了(Linear Gauge),可惜现有系统用的还是1.2.3版本的,重新引入新版本有点不现实,所以只能采取另外的方式了。
后来采用了DIV的方式实现,用一个外层的DIV作为完整的进度框,然后再定义一个span放在DIV中,作为实际的进度框,获取到进度值之后,通过css去渲染这个span的宽度,实现进度条的效果。
1、首先定义一个空的DIV,做为容器使用,后面可以直接替换掉这个DIV里面的内容
<div id="chartdivCSJMDProgressLoad"></div>
2、通过dwr方式获取到进度值之后,渲染进度条
//渲染进度条 renderProgressInfo(data[0].MEASURE_TOTAL_VALUE,"chartdivCSJMDProgressLoad");
//渲染电压合格率类指标的进度条 function renderProgressInfo(MeasureTotalValue,SpanId){ var vProgressInfo = ""; if(MeasureTotalValue > 90){ vProgressInfo = "<div class='jindutiao_out'><span class='jindutiao_green' style='width:"+MeasureTotalValue*2+"px;font-size: 18px;font-weight: bold;font-family: 微软雅黑, Verdana, sans-serif, 宋体;color:#000;text-align:center;line-height:50px;'>"+MeasureTotalValue+"%</span></div>"; }else{ vProgressInfo = "<div class='jindutiao_out'><span class='jindutiao_red' style='width:"+MeasureTotalValue*2+"px;font-size: 18px;font-weight: bold;font-family: 微软雅黑, Verdana, sans-serif, 宋体;color:#000;text-align:center;line-height:50px;'>"+MeasureTotalValue+"%</span></div>"; } document.getElementById(SpanId).innerHTML=vProgressInfo; }
上面标红的地方是重点,第一个div的样式是外层边框,宽为200px,加一点边框;接下来是span,span的宽度通过进度值*2去计算后再确定,然后用背景图片去渲染span的颜色
.jindutiao_out{ width:200px; height:48px; border:solid 1px #dcdcdc; text-align:left; margin-top:2px; } .jindutiao_green{ height:48px; display:inline-block; background-image:url(../img/lorebg_27_1X48.png); background-repeat:repeat-x; } .jindutiao_red{ height:48px; display:inline-block; background-image:url(../img/lorebg_32_1X48.png); background-repeat:repeat-x; }
最终的效果如下:
小结:
通过这种方式实现的话,其实有一点取巧,效果比较一般,也没有像FusionCharts那样的动画效果,如果要求没那么严格或者只是单独展示这种类似的进度条的话,这个方式还是有一定作用的。
来自: 昵称10504424 > 《工作》
0条评论
发表
请遵守用户 评论公约
50款电视背景墙(装修备用)
60款电视背景墙(装修备用) - Qzone日志日志。>" alt="" src="http://img04.taobaocdn.com/contribution/i4/T1...
各种特效字效果代玛 [图片]
</SPAN></SPAN></MARQUEE></TD><TD align=middle><MARQUEE><SPAN style="FONT-SIZE: <...
第十天 div+css网页标准布局实例教程(二)
<div class="side_box"><h2><strong>产品</strong>导购</h2><div class="side_con pr...
HTML 实现仿 Windows 桌面主题特效
/*界面布局样式*/.powered_by {width:160px;height:25px;line-height:25px;background:url(images/powered-by.png) no-repeat left cent...
Css实现checkbox及radio样式自定义
Css实现checkbox及radio样式自定义前言。随着用户对产品体验要求越来越高,我们都会对checkbox和radio重新设计,checkbox默认的样式非常丑 ,无法直接修改checkbox和radio的样式,这里我们借助label标...
Свитер. Обсуждение на LiveInternet
background-position: 0px 5px;background-repeat: no-repeat;
首页商品缩略图大小的修改方法
html+css如何在图片上添加文字
html+css如何在图片上添加文字。
舌上长一黑血泡
a" style="margin: 0px;padding: 10px 10px 0px;background-image: url("styles/basic_darkblue/xenforo/gradients/category-23px-light.png");background-position: center top;b...
微信扫码,在手机上查看选中内容