动态编辑值
Dynamically edit value
我试着玩一下d3.js暂时有点喜欢它:)
我无法弄清楚的一件事是如何编辑相同的值。让我解释一下,这里有一个简单的甜甜圈:
var visu = d3.select("#svg_donut");
var skillScale = d3.scale.linear().domain([0, 100]).range([0, 2*Math.PI]);
var arcBorder = d3.svg.arc().innerRadius(60)
.outerRadius(62)
.startAngle(0);
var arcBar = d3.svg.arc().innerRadius(60)
.outerRadius(70)
.startAngle(0);
var progBorder = visu.append("path").datum({endAngle: skillScale(100)})
.style("fill", "white")
.attr("d", arcBorder)
.attr("transform", "translate(75, 75)");
var progBar = visu.append("path").datum({endAngle: skillScale(75)})
.style("fill", "white")
.attr("d", arcBar)
.attr("transform", "translate(75, 75)");
var text = visu.append("text").text("FOO")
.attr("transform", "translate(75, 83)")
.style("fill", "white")
.attr("text-anchor", "middle");
而我想做的,就是在visu
hover
,顺利地改变progbar
outerRadius
。我暂时有点坚持下去,所以如果你能帮忙:)
使用您当前的代码,这实际上有点棘手,因为您将甜甜圈分为两个单独的部分。一般模式是这样的。
visu.on("mouseover", function() {
arcBorder.outerRadius(100);
visu.selectAll("path.outer").transition().attr("d", arcBorder);
});
这假定您已将类"outer"分配给要更改的路径,以便能够区分此路径和其他路径。
如果您使用更常见的圆环图模式,整个过程会容易得多,请参阅此处的示例。
相关文章:
- 使动态命名的iframe可编辑
- JQGrid动态行可编辑
- 允许编辑Text动态php表
- 如何使用 JSP 动态编辑表
- 如何使用角度JS制作动态内容可编辑表
- .val() 选择文本而不是值字符串,当网页动态编辑源 html
- 在jqgrid编辑中动态刷新多选下拉列表
- 表中的动态按钮用于使用Javascript(CodeIgniter)删除/编辑数据
- 如何将下拉项动态添加到可编辑的引导程序中
- 使用AngularJs在自定义TinyMCE编辑器中添加动态数据
- jqgrid在条件下动态设置单元格可编辑false
- 使用jQuery和PHP对动态加载的数据进行编辑
- 如何将动态表单保存到数据库/编辑回表单
- Angular2-动态加载Ace编辑器
- 使用html/php编辑动态创建的结果集
- AngularJS-添加或编辑(动态)数据
- 编辑动态创建的行的值
- 如何编辑动态表单字段以创建由两个字段的值组成的单个隐藏字段
- 编辑动态生成的表
- 编辑动态文本html