0

我用 g.raphael 绘制了一个折线图。我用自己的值制作了一个自定义 x 轴。现在我希望这些值旋转 90 度,所以它们是垂直的而不是水平的。

为此,我使用了 raphaels rotate() 函数。这在 IE (8) 和 Opera 中都能完美运行。但是在 Firefox 中什么也没有发生,并且 Firebug 打印出这个错误

Unexpected value rotate(90 NaN Infinity) parsing transform attribute.

我在其他地方找不到有关此错误的任何信息,而且我看不出它是如何不正确的。更重要的是,我发现它在其他浏览器中工作非常奇怪。

有人对此有所了解吗?

我的代码 - 其中 xcoor 是一个简单的值 0-30 的 int 列表:

for (var i in xcoor) {
     var dato = new Date();
     dato.setDate(new Date().getDate() - i);

     var xTxt = r.text(30 + (i * (725 / 30)), 315, dato.getDate() + '/' + (dato.getMonth() + 1)).rotate(90);
}
4

1 回答 1

0

好吧,经过数小时的谷歌搜索、阅读和更多谷歌搜索,我终于找到了解决方案。

我仍然不明白为什么第一个不起作用。但我仍然想出了一种适用于所有浏览器的方法:

for (var i in xcoor) {
     var dato = new Date();
     dato.setDate(new Date().getDate() - i);
     var xTxt = blokCanvas.text(40 + (i * (725 / 30)), 315, dato.getDate() + '/' + (dato.getMonth() + 1))
     xTxt.rotate(90, (40 + (i * (725 / 30))), 315);
}

旋转功能有更多不同的版本。其中之一是这个

rotate(degrees, x, y)

其中degrees 表示项目应该旋转的度数,x,y 表示项目应该围绕其旋转的点的坐标。

将 x,y 值设置为与将项目放在首位的值相同会给我想要的结果。

耶!

于 2011-09-09T08:10:39.347 回答