簡體   English   中英

使用svg.js更改svg文本的垂直位置

[英]Change svg text's vertical position using svg.js

我已經閱讀了文檔,但不知道如何實現。 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');
};

提前謝謝

我認為您的問題出在這里:

return $svgText.tspan.dy('0.9em');

在文本元素上, tspan是一種方法,而不是引用: http : //documentup.com/wout/svg.js#text/tspan

更新:

tspan()方法不返回文本元素中已經存在的tspan,而是創建一個新的tspan。 您正在尋找的是lines參考。 行將所有tspan保留在text元素內。 因為linesSVG.Set的實例, 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM