`
jef
  • 浏览: 117206 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用table,div实现动态柱状图表

阅读更多

想来很有趣,没想到利用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功能的函数每隔一段时间向后台请求一次,获得最新的数据信息之后再做柱形图高度的同步,还不错吧。

 

 

  • src.rar (1.8 KB)
  • 描述: html,css文件
  • 下载次数: 447
分享到:
评论
8 楼 hanjs 2009-01-13  
思路不错,可惜实用性不大。

7 楼 shenchengli 2008-12-10  
   asdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
6 楼 shenchengli 2008-12-10  
sdsdsd
5 楼 honlin 2008-11-24  
上传的domo源文件能不能调整一下,静态的是用php写的,无法静态预览啊
4 楼 昔日舞曲 2008-11-24  
竟然可以重复提交
论坛这个不行啊要改啊
3 楼 昔日舞曲 2008-11-24  
多些楼主分享,可惜是php。。
2 楼 guwei0530 2008-06-04  
有创意,赞一个
1 楼 wayner 2008-03-24  
不错不错, 很好很强大

相关推荐

Global site tag (gtag.js) - Google Analytics