wrap = function(id, maxLen) {
var me = d3.select(id);
var textLength = me.node().getComputedTextLength();
var text = me.text();
while (textLength > maxLen && text.length > 0) {
text = text.slice(0, -1);
me.text(text + '...');
textLength = me.node().getComputedTextLength();
}
var me = d3.select(id);
var textLength = me.node().getComputedTextLength();
var text = me.text();
while (textLength > maxLen && text.length > 0) {
text = text.slice(0, -1);
me.text(text + '...');
textLength = me.node().getComputedTextLength();
}
};
简单解释下,找到元素文本的长度,并把内容赋值给变量text,如果文本的长度一直大于要求的最大长度,并且text的长度大于0,那么不断地去掉text的最后一个字符,加上“...”更新元素的文本内容,直到满足需求。