我已阅读文档,但不知道如何实现这一目标。 dy
没有变化。
/**
* Draws text
*
* @param {String} $text Text
* @param {int} $x Starting point X coordinate
* @param {int} $y Starting point Y coordinate
* @param {Object} $font Font properties
* @returns {text} SVG JS text object
*/
drawText = function($text, $x, $y, $font) {
$svgText = $svg.text(($text !== undefined && $text !== null) ? $text : '-').attr({x: $x, y: $y}).font($font);
return $svgText.tspan.dy('0.9em');
};
提前多多感谢
答案 0 :(得分:1)
我认为你的问题在于:
return $svgText.tspan.dy('0.9em');
在文本元素tspan
上是一个方法,而不是一个引用:
http://documentup.com/wout/svg.js#text/tspan
更新:
tspan()
方法不返回文本元素中已存在的tspan,它会创建一个新的。您正在寻找的是lines
参考。 Lines保存文本元素中的所有tspans。由于lines
是SVG.Set
的实例,因此您可以直接在其上调用dy
方法:
text.lines.dy(0.9)
如果您想更改第一个元素的dy
,可以使用each
方法:
text.lines.each(function(i) {
if (i == 0)
this.dy(0.9)
})
请注意,leading
方法在此处也可能有用:
http://documentup.com/wout/svg.js#text/leading