我正在使用raphael js创建一个“信息图”的过程。该信息图将呈现一些带有一些文字的圆圈。圆圈的数量不知道,取决于它获得的数据。访问raphael js中的集合集合
我以为我会组织拉斐尔对象成组,每一个圆,然后将这些设置成集,但我无法访问它们编程方式使用像一个“容器”:
console.log(ss[0].circle);
这里是一段代码即时通讯使用绘制我的圈子/添加到一组:
var r = Raphael('raph', '500px', '500px');
var coord = {
'0': {x: 177, y: 75},
'1': {x: 420, y: 173},
'2': {x: 177, y: 415}
};
var ss = r.set();
for(var i=0; i < data.values.length; i++){
var s = r.set();
s.push(r.path("M "+ coord[i].x +" "+ coord[i].y +" L 247 247 z"));
s.push(r.circle(coord[i].x, coord[i].y, 50).attr({fill: '#fff', stroke: '#00adef', 'stroke-width': 2}));
s.push(r.text(coord[i].x, coord[i].y-41).attr({'font': '12px Arial', 'font-weight': 'bold', fill: '#474747', text: data.values[i].name}));
s.push(r.text(coord[i].x, coord[i].y-19).attr({'font': '28px Arial', 'font-weight': 'bold', fill: '#00adef', text: data.values[i].grade}));
ss.push(s);
}
有人可以指出我在正确的方向吗?
是的,那正是我想要做的。虽然我更感兴趣的是能够对某个特定的圈子(以及相关的文本标签)做些什么,但是有能力为整个圈子做点东西是很方便的。你的代码在FF3的最新版本中工作正常,但它似乎崩溃了chrome: – boz 2011-02-11 17:22:47