我正在尝试在数组中保存选定的圆圈,以便稍后我可以操纵这些圆圈而无需搜索页面上的所有圆圈.我希望能够从一个不同的功能访问圆圈,而不是创建它们.
// From outer function
var selections = [];
// From inner function A
circles.on("click", function(da){
d3.selectAll("circle").filter(function(db){
var result = da.someProperty == db.someProperty;
var circle = d3.select(this);
if(result) selections.push(circle);
return result;
})
.attr("fill", "red");
});
// From inner function B
selections.forEach(function(circle){
circle.attr("fill", "black"); // Doesn't work
});
Run Code Online (Sandbox Code Playgroud)
有没有办法使用我的选择数组的内容修改圆属性?
我正在尝试向div添加两个按钮,一个在另一个按钮之下。第一个按钮接受数字,第二个按钮将用于切换行的开和关。
仅创建我添加的第二个按钮。如何在同一个div中创建两个按钮?
这是一个JSFiddle。
<!DOCTYPE html>
<meta charset="utf-8">
<html>
<script src="d3.js"></script>
<body>
<div id=options>
<script>
(function(){
var form = d3.select("#options")
.append("form")
.html("Enter a number:")
form.append("input")
.attr("type", "text")
.attr("name", "num")
form.append("input")
.attr("type", "button")
.attr("value", "Add")
.attr("onclick", "printNum(num.value)")
form.html("Show/hide lines:")
.append("input")
.attr("type", "button")
.attr("name", "toggle")
.attr("value", "Toggle")
.attr("onclick", "togglePressed()");
})();
function printNum(num){
alert("You entered " + num + "!");
}
function togglePressed(){
alert("You pressed the toggle button!");
}
</script>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)