【发布时间】:2017-07-25 14:54:21
【问题描述】:
基于此示例:http://bl.ocks.org/d3noob/10633704 我希望在我的键盘上进行输入(一个数字)并在array.slice() 的帮助下使圆圈消失。不幸的是,它没有很好地工作。在我的代码中,我根据数组days 的值创建了一些圆圈。使用 HTML 部分,我可以创建一个按钮,我可以在其中输入数字。最后一部分days.slice(nValue) 我希望输入数字与slice() 函数括号内的数字相同,因此数组days 越来越短,并自动让基于数组值的圆圈消失.但不幸的是,我在这段代码中犯了一个错误。有人可以这么善良和帮助吗?我正在使用 D3 来解决这个问题。
谢谢
<!DOCTYPE html>
<meta charset="utf-8">
<title>Input (number) test</title>
<p>
<label for="nValue"
style="display: inline-block; width: 120px; text-align: right">
angle = <span id="nValue-value"></span>
</label>
<input type="number" min="0" max="360" step="4" value="0" id="nValue">
</p>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
var width = 600;
var height = 300;
var svg = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height);
var days = [7, 12, 20, 31, 40, 50];
console.log(days);
var circle = svg.selectAll("circle")
.data(days)
.enter().append("circle")
.attr("cy", 60)
.attr("cx", function(d, i) { return i * 100 + 40; })
.attr("r", function(d) { return Math.sqrt(d); });
d3.select("#nValue").on("input", function() {
update(+this.value);
});
// Initial update value
update(0);
function update(nValue) {
days.slice(nValue);
}
【问题讨论】:
标签: javascript arrays d3.js slice