Raphael JS Pie:将ID添加到路径切片
我在拉斐尔Google网上论坛上看到过这个问题,但是经过几个小时的搜索,在这里和谷歌,我似乎无法找到解决方案。
我只是希望能够使用jQuery来定位我的饼图(svg path)切片,但我无法弄清楚如何将自定义的id添加到路径标记中 - 默认情况下没有ID属性:
<path fill="#764c29" stroke="none" d="M350,350L350.6911881148345,94.00093308961084A256,256,0,0,1,561.8463375189659,206.2741175716762Z" style="stroke-width: 1; stroke-linejoin: round;" stroke-width="1" stroke-linejoin="round"/>
最理想的是这样的:
<path **id="my_id"** fill="#764c29" stroke="none" d="M350,350L350.6911881148345,94.00093308961084A256,256,0,0,1,561.8463375189659,206.2741175716762Z" style="stroke-width: 1; stroke-linejoin: round;" stroke-width="1" stroke-linejoin="round"/>
有没有人知道如何实现这个目标?
这是我用来创建饼图的代码:
window.onload = function () {
var r = Raphael("holder");
var pie = r.g.piechart(350, 350, 256, [56, 104, 158, 23, 15, 6]);
pie.hover(function () {
this.sector.stop();
this.sector.animate({scale: [1.1, 1.1, this.cx, this.cy]}, 500, "bounce");
}, function () {
this.sector.animate({scale: [1, 1, this.cx, this.cy]}, 500, "bounce");
});
};
基本上,我需要能够做到这一点的原因是,我可以创建一些单独的锚点触发器来执行上面显示的比例动画。
任何帮助不胜感激。
这个饼图对象提供了3种方式来访问他们的部门。
1)每个功能
pie.each(function(sector, cover, i) {
sector.attr({/*...*/}); //raphael
$(sector.node).foo(); //jquery
});
2)系列对象(用于造型和变形)
var i = 0; // 0 = 56, 1 = 104, 2 = 158 …
//raphael way to hide the first sector
pie.series.items[i].attr({ opacity : 0 });
//jquery way to hide the first sector
$(pie.series.items[i].node).hide();
其中i是您数据阵列的索引
演示:http://jsbin.com/eriqa5/2/edit
3)覆盖对象(用于鼠标和触摸事件)
//raphael way to hover the first sector
pie.covers.items[0].hover(...);
//jquery way to hover the first sector
$(pie.covers.items[0].node).hover(...);
演示:http://jsbin.com/eriqa5/4/edit
链接地址: http://www.djcxy.com/p/76483.html