浏览 505 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-03-01
想来很有趣,没想到利用table,div,css,javascript也可以实现一个动态的柱状图表。效果还不错,如下图。基本可以应付简单的需要,更重要的是可以做到柱形图的动态显示 呵呵
用一个table实现柱状图表,table结构如下: <table> <caption>统计分析 (2007-02~2008-02)</caption> <thead></thead> <tbody> <tr style="height:300px;"> <td class="chartcaption" style="vertical-align:top;border-right:1px solid #004477;border-bottom:none;"> <p style="padding-top:10px;">消</p><p>费</p><p>金</p><p>额</p><p>(元)</p> </td> <td><p><span>12899</span></p><div id="firstcolumn" title="消费金额:12899 元" class="tdbg" style="height:80%;"></div></td> <td><p><span>9616</span></p><div title="消费金额:9616 元" class="tdbg" style="height:60%;"></div></td> .... .... .... <td></td> </tr> <tr> <td style="border:none;"></td> <td style="border:none;">07/02</td> .... .... .... <td class="chartcaption" style="border:none;">月份</td> </tr> </tbody> </table>
代码比较简单,table也只有2行,x轴上下各是一行。设定一下tr或td的border属性就可以画出x轴,y轴。 柱形图就是在一个td里面有蓝色背景的div~,设定这个div的height属性就可以决定每个柱形图的高度了。 重要的还是要写一些css代码来控制这个table及其div元素的表现形式。
再说说动态实现部分吧,这个很爽啊。 其实要控制一个柱形的高度只要给这个div设定一个id,然后再修改这个div的height属性就行了。 如: <td><p><span>12899</span></p><div id="firstcolumn" title="消费金额:12899 元" class="tdbg" style="height:80%;"></div></td>
为第一个柱形div标号 id = firstcolumn.
javascript代码修改height属性 <input type="button" value="change" onclick="change()"/>
<script language="javascript" src="include/prototype.js" type="text/javascript"></script>
<script>
var times = 0;
function change(){
add(times);
times = times+5;
}
function add(time){
var firstColumn = $('firstcolumn');
firstColumn.style.height = time+'%';
}
</script>
现在大功告成 点击change按钮就可改变第一个柱形的高度了~ 实际应用中可以由ajax技术来控制柱形的变化。例如一个带ajax功能的函数每隔一段时间向后台请求一次,获得最新的数据信息之后再做柱形图高度的同步,还不错吧。
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
| 返回顶楼 | |


