Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript svg.js存在问题,沿圆弧绘制居中文本_Javascript_Html_Svg - Fatal编程技术网

Javascript svg.js存在问题,沿圆弧绘制居中文本

Javascript svg.js存在问题,沿圆弧绘制居中文本,javascript,html,svg,Javascript,Html,Svg,我想用svg.js沿圆弧绘制一个动态文本“居中”。表示文本的中间始终位于弧的最顶端 在静态html(意思是:没有svg.js)中,它可以正常工作。比如: <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="300"> <defs> <path id="myPathTop" d="M150,250 A

我想用svg.js沿圆弧绘制一个动态文本“居中”。表示文本的中间始终位于弧的最顶端

在静态html(意思是:没有svg.js)中,它可以正常工作。比如:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="300" height="300">
<defs>
        <path id="myPathTop" d="M150,250 A100,100 0 1,1 151,250" />
    </defs>
    <text style="stroke: #000000;" id="idTextTop" font-family="Arial" font-size="20" text-anchor="middle">
    <textPath xlink:href="#myPathTop" startOffset="50%" id="idTextPathTop" >
            A nice, long, centred text along an arc path...
    </textPath>
    </text>
</svg>
结果是:

显然,不考虑“startoffset:0.5”

我检查了Keith Woods svgRef.html和几个示例,但无法使其正常工作

有人知道我做错了什么吗


事先非常感谢。

从未使用过此选项,但是-它不区分大小写吗?它不需要是startOffset。。。?只是猜测而已。更改值根本没有任何作用,或者只是关闭了吗?从文档:
text.textPath.attr('startOffset',0.5)
Thx很多JiřEldorado Bayer和Phrogz。我昨天试过了,但没用。然而,你的反馈鼓励我进行更多的实验,你完全正确。。。。最后,以下内容修复了startOffset:“50%”所以。。。如您所述,需要大写字母“O”和百分比,而不是小数。在FF、IE、Safari、Chrome、Opera=>中试用:-)非常感谢!!
var defs = svg.defs(); 
var path = svg.createPath(); 
//[...set some vars, then ....]
svg.path(defs, path.move(startX, startY).arc([[radius, radius, rotateX, drawLargeArc, drawClockwise, endX, endY, relativeValues]]), {id: 'myPathTop'});
var text = svg.text('', {fontFamily: 'Arial', fontSize: '20', textAnchor: 'middle'}); 
var texts = svg.createText(); 
svg.textpath(text, '#myPathTop', texts.string('A nice, long, centred text along an arc path...'), {id: 'MyTextPath', startoffset: 0.5} );