我正在尝试理解sticky force layout d3示例
在示例中有这个功能:
function dragstart(d) {
d3.select(this).classed("fixed", d.fixed = true);
}
该函数为节点提供“节点固定”类,并对强制模型执行某些操作以使这些节点固定。我对它是如何做到这一点很困惑。从我希望的规范开始,请遵循# selection.classed(name[, value])
形式,但为此,value
是一项任务。这里发生了什么?如何使用此函数将强制布局属性更改为固定而不更改类?
答案 0 :(得分:0)
代码正在改变两者。它等于(但短于)
var ctx = document.getElementById("chart-area").getContext("2d");
var myNewChart = new Chart(ctx).DoughnutAlt(doughnutData, {
responsive : true,
radiusPercentage: 0.8
});
这是有效的,因为Javascript中赋值的值是指定的值,即d3.select(this).classed("fixed", function() {
d.fixed = true;
return true;
});
求值为d.fixed = true
,然后由true
函数使用。