javascript - 将 hellip (...) 放入 d3.js 中 bar 内的文本

标签 javascript css d3.js

我有一个图表,其中有条形图,如果文本不适合条形图,我现在正在这样做,然后直接从条形图上移开。

d3.selectAll('.c3-text')
      .each(function(d){
      var self = d3.select(this),
      width = +d3.select('.c3-zoom-rect').attr('width');
      if (+self.attr('x') + self.node().getComputedTextLength() > width){
      self.attr('x', '5');
      }
});

现在我想要文本,如果不适合栏,则添加省略号 (...) 并将文本剪切到栏的宽度。

当条形图非常小时,我需要省略文本并在屏幕的远端加上省略号。 enter image description here

非常感谢。

https://jsfiddle.net/e00vfofo/

最佳答案

对于较长的条使用样式或 css 'overflow:hidden;空白:nowrap;文本溢出:省略号;' - 这会自动 chop 并向溢出的文本添加省略号。

对于短条,像您已经做的那样取出文本,并将 添加到字符串的末尾。

关于javascript - 将 hellip (...) 放入 d3.js 中 bar 内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37217077/

相关文章:

javascript - 在 D3 图表的轴上启用滚动

javascript - d3js v5 + topojson v3 后台访问对象的属性

javascript - 在 React JS 中处理动态增长的列表

jquery 点击事件触发多次 :(

javascript - 当鼠标悬停在 <a> 标签元素中时,如何完全改变图像的颜色?

jquery - 将元素放在进度条顶部的另一个元素的右侧

php - 如何将 Open Sans 字体添加到 mpdf 文档

javascript - 检测 javascript 或 jQuery 中的上一个 url

css - 无法垂直居中对齐 float 元素

javascript - Dc.js 和 D3.js 图表更新