我在我的代码中有一些甜甜圈布局:
var cityPercentage=[50,30,20,10];
var width=300,
height=300,
radius=100;
var color=d3.scale.linear()
.domain([0,60])
.range(["red","blue"]);
var cityDivision = d3.select("#cities")
.append("svg")
.attr("width", width)
.attr("height", height)
.attr("class","span4");
var group=cityDivision.append("g")
.attr("transform","translate(" + width / 2 + "," + height / 2 + ")");
var arc=d3.svg.arc()
.innerRadius(radius-19)
.outerRadius(radius);
var pie= d3.layout.pie()
.value(function(d){return d;});
var arcs=group.selectAll(".arc")
.data(pie(cityPercentage))
.enter()
.append("g")
.attr("class","arc")
.attr("id",function(d){return d.data;});
arcs.append("path")
.attr("d",arc)
.attr("fill",function(d){return color(d.data);});
当鼠标悬停时,我希望它可以扩大其外部半径。以下是我所拥有的:
$(".arc").on("mouseover",(function(){
console.log($(this).find("path"));
$(this).find("path").transition()
.duration(10)
.attr("outerRadius",radius+20);
}));
它说
Uncaught TypeError: undefined is not a function VM24:44
(anonymous function) VM24:44
jQuery.event.dispatch jquery.js:5095
elemData.handle
g
元素的属性,正如你所观察到的,这根本没有任何效果。 - Lars Kotthoffarc
的东西。 - Lars Kotthoff