我一直在努力使用 javascript 图表脚本。要调用脚本,我必须将以下内容放在头部:
<script type="text/javascript">
$(function(){
$('table').visualize({type: 'line'});
});
</script>
该脚本从表格中抓取数据,然后生成漂亮的图表。一切正常,没问题。问题是当我将它迁移到完整的网站时。我显然在页面上有许多表格,这个脚本试图抓取每个表格并在之后立即创建一个图表。为了解决这个问题,我在“charttable”的目标表中添加了一个类,并将上面的代码更改为:
<script type="text/javascript">
$(function(){
$('.charttable').visualize({type: 'line'});
});
</script>
现在可以准确地在预期的位置刮擦并生成图表。我现在遇到的问题是它调用的 javascript 尝试使用各种类来绘制图表和设置样式,这些类似乎被忽略了,例如背景颜色默认为黑色,x 和 y 轴标签的绘制都只是放在顶部彼此等。javascript的示例如下
//function to create a chart
var createChart = {
pie: function(){
canvasContain.addClass('visualize-pie');
if(o.pieLabelPos == 'outside'){ canvasContain.addClass('visualize-pie-outside'); }
var centerx = Math.round(canvas.width()/2);
var centery = Math.round(canvas.height()/2);
var radius = centery - o.pieMargin;
var counter = 0.0;
var toRad = function(integer){ return (Math.PI/180)*integer; };
var labels = $('<ul class="visualize-labels"></ul>')
.insertAfter(canvas);
这些类中的每一个都由两个样式表设置样式,例如:
.visualize { margin: 60px 0 0 30px; padding: 70px 40px 90px; background: #222 url(../images/chartbg.png) top repeat-x; border: 1px solid #000; -moz-border-radius: 12px; -webkit-border-radius: 12px; border-radius: 12px; }
.visualize canvas { border: 1px solid #888; margin: -1px; background: #222; }
.visualize-labels-x, .visualize-labels-y { top: 70px; left: 40px; z-index: 100; }
我尝试在样式表中的所有条目前添加 .charttable,认为它可以让我定位类和子类,但这没有用。
我知道该脚本必须至少部分正确工作,因为它使用从表格中刮下的标题和标签绘制图表。它只是不会画线、正确定位标签或坚持样式。
我写的是为了添加和定位“charttable”类而不仅仅是容器吗?如果没有 - 在我如何定位容器方面还有其他解决方法吗?如果是 - 为什么现在忽略样式表?
如果以上没有任何意义,我深表歉意,因为我还在学习 Java ......