0

我一直在努力使用 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 ......

4

1 回答 1

0

它看起来像是在操纵一个变量“画布”来创建图表,你说它正在工作。它将类添加到您说不起作用的“canvasContainer”。我会在代码中进一步查找以确定 canvas 和 canvasContainer 是如何定义的。在某处定义了 canvasContainer 的地方有一个中断。

于 2013-01-22T15:23:37.257 回答