gpt4 book ai didi

javascript - 为什么 d3.select().style() 不适用于
元素?

转载 作者:行者123 更新时间:2023-11-30 05:31:06 24 4
gpt4 key购买 nike

我已经盯着这个看了一段时间了,我就是想不通我做错了什么。我基本上是在尝试自己实现这个例子:http://vallandingham.me/building_a_bubble_cloud.htm

以与文章类似的方式,我有一个如下所示的 DOM 结构

<div id="d3">
<div id="labels">
<div class="label">Label</div>
</div>
<svg> << SVG-stuff >> </svg>
</div>

据我了解,在文章中,标签 div 是使用 d3 的 tick 函数中的 .style() 函数定位的。因此:

d3.selectAll(".label")
.style("left", function(d) { return d.x - (d.dx / 2) + "px"; })
.style("left", function(d) { return d.x - (d.dx / 2) + "px"; })

但是:运行时,没有样式应用于元素!

我错过了什么?这在示例中如何工作?

最佳答案

我很乐意自己回答这个问题,以防其他人对 .style() 感到困惑

上述案例中的问题是 d.dx未定义,这意味着该函数不返回任何内容。

我根本没有意识到,如果是这样的话,连<div style="left: ; rigt: ;">都没有。已应用。

.style()确实适用于 DOM 中任何位置的 div 元素,只要定义了它的参数:

.style("left", function(d) { return d.x + "px"; })

关于javascript - 为什么 d3.select().style() 不适用于 <div> 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961258/

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