小编use*_*797的帖子

你如何获得已经在 d3 中创建的形状的宽度?

cells.append('rect')
      .attr('x', function (d) { return d.x; })
      .attr('y', function (d) { return d.y; })
      .attr('height', function (d) { return d.dy; })
      .attr('fill', function (d) { return d.children ? null : color(d.parent.name); })

cells.append('text')
      .attr('x', function (d) { return d.x + d.dx / 2 })
      .attr('y', function (d) { return d.y + d.dy / 2 })
      .attr('fill', 'white')
      .attr('font-size', 14)
      .text(function (d) {
         if (d.name.length < cells.rect.width) {
              return d.name;
         }
       });
Run Code Online (Sandbox Code Playgroud)

我不知道为什么

cells.rect.width

不起作用?但是我想知道的是如何在将文本附加到形状之前检查形状的宽度。

我还尝试将形状的宽度推送到数组,然后使用索引循环遍历数组以检查名称的长度是否大于框的宽度。问题是在创建形状时,首先创建面积最大的形状(框)。另一方面,当附加文本时,它从右下角到左上角开始。

我知道文本的长度和像素是两个不同的单位,但我打算用一个简单的比率来转换它。如何获得已在屏幕上绘制的矩形的宽度?

d3.js

2
推荐指数
1
解决办法
4032
查看次数

如何将Javascript变量传递给HTML

<script>
   var list_max = 99
</script>

<div>
  <input type="text" data-index="0" name="min" value="1"/>
  <input type="text" data-index="1" name="max" value="list_max"/>
</div>
Run Code Online (Sandbox Code Playgroud)

小提琴:http://jsfiddle.net/SP5VQ/10/

所以你在Javascript中有一个变量,并且你想将它传递给HTML输入的值.你是做什么?

为了使html代码功能像这样

<input type="text" data-index="0" name="min" value="1"/>
<input type="text" data-index="1" name="max" value="99"/>
Run Code Online (Sandbox Code Playgroud)

html javascript

-4
推荐指数
1
解决办法
117
查看次数

标签 统计

d3.js ×1

html ×1

javascript ×1