gpt4 book ai didi

javascript - 当 Null 插入到 d3 中的属性函数时,它在做什么?

转载 作者:行者123 更新时间:2023-12-04 10:19:48 27 4
gpt4 key购买 nike

我遇到了一个我从未见过的奇怪争论。
在这段代码中,它将 'null' 放入属性中,我猜这个 null 正在做的是什么时候接收东西
该功能正在与其他功能链接。

1) 我想问你们 null 在做什么。 (其中 null 在下面的代码中)

var t = svg.selectAll(".symbol").transition()
.duration(duration)
.attr("transform", "translate(0,0)")
.each("end", function() { d3.select(this).attr("transform", null); });

t.select("path.area")
.attr("d", function(d) { return area(d.values); });

t.select("path.line")
.style("stroke-opacity", function(d, i) { return i < 3 ? 1e-6 : 1; })
.attr("d", function(d) { return line(d.values); });

t.select("text")
.attr("transform", function(d) { d = d.values[d.values.length - 1]; return "translate(" + (w - 60) + "," + y(d.price / 2 + d.price0) + ")"; });

setTimeout(streamgraph, duration + delay);

2) 我假设,
写入变量 t 是为了避免重复的变换参数。
但是,我没有得到论证的顺序。
因为我觉得,应该是按照这个顺序写的。

svg.selectAll('.symbol').select('path.area').attr('d',function(d){return area(d.values);})
.transition().duration(duration).attr('transform','translate(0,0)')....

然而,根据 var t,
select('path.area') 出现在过渡和持续时间之后,甚至在 .each 之后。

3) 最后一个问题,
对于版本 4 和 5
.each('end'...) 需要是 .on('end'....
对?

最佳答案

在此之前,请保留 在 Stack Overflow 上针对每个问题发布问题。

关于null , API解释它:

A null value will remove the specified attribute.



这适用于其他方法,例如 style() .

在此示例中,圆圈具有 CSS 颜色(“红色”)。 D3 代码设置另一种颜色(“绿色”), null恢复到原来的 CSS 颜色。

const circle = d3.select("circle");
let i = 0;
setInterval(function() {
circle.style("fill", (++i) % 2 ? "green" : null);
}, 1000)
circle {
fill: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<svg>
<circle r="50" cx="100" cy="75"></circle>
</svg>

关于javascript - 当 Null 插入到 d3 中的属性函数时,它在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60910594/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com