2016-05-13 1 views
0

バーがあり、現在テキストがバーに収まらない場合は現在行っていますバー。バーに収まらない場合d3.jsのバーの内側にあるテキストにhellip(...)を挿入します

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/

答えて

0

スタイルやCSSの「オーバーフローを使用:隠されたが、ホワイトスペース:nowrap;テキストオーバーフロー:省略記号; - オーバーフローするテキストに省略記号を自動的に切り捨てて追加します。

短いバーの場合は、すでに行っているとおりにテキストを取り出し、…を文字列の末尾に追加します。

+0

私にとっては役に立ちません – yavg

+0

何が問題なのですか? - おそらく&hellipを追加します。テキストの最後まで... 純粋なjavascriptでは、テキストがdiv/containerの幅をオーバーフローすると仮定して、それは私のために(常に)動作します。 –

関連する問題