jquery + svg:如何在圆圈上方定位文字?
我使用svg jquery绘制一个圆圈
_svg.circle(_X, _Y, _R, { fill: 'yellow', stroke: 'black', strokeWidth: 1 });
最重要的是我想要一个文字:
var _svgGroup = _svg.group({ fontSize: '11', fill: 'black' }); _svg.text(_svgGroup, _X, _Y + 15, "#");
问题是文本总是“在圆圈下面”并且部分不可见。
如何将文字放在圆圈上? 在svg中有类似z-order的东西吗?
非常感谢你!
当我尝试使用相同类型的代码时,它工作正常。
我的代码:
$(function() { $('#svgbasics').svg({onLoad: drawInitial}); function drawInitial(svg) { var _X = 200; var _Y = 200; var _Z = 100; svg.circle(_X, _Y, _Z, { fill: 'yellow', stroke: 'black', strokeWidth: 1 }); var _svgGroup = svg.group({ fontSize: '11', fill: 'black' }); svg.text(_X, _Y + 15, "Hello World"); } });
此外,在代码之前,我们可能需要包含一块css。
我从jquery.svg库中的示例文件(svgBasic.html)中得到了这个。
该代码有效:
var _svgTextStyle = { fontSize: '11', fill: 'red' }; var _svgCircleStyle = { fill: 'yellow', stroke: 'black', strokeWidth: 1 }; _svg.circle(pos.getPosX() + 7, pos.getPosY() + 0, 7, _svgCircleStyle); _svg.text(pos.getPosX() + 0, pos.getPosY() + 10, pos.getId() + "", _svgTextStyle);
所以区别在于样式应该在第一个参数中不作为“组”对象传递,而在第4个参数中作为纯数组传递。
Dunno实际上,为什么“组”不起作用,因为我看到推荐它的参考。