尝试将字符串作为函数参数传递给SVG

时间:2012-01-17 18:11:36

标签: javascript jquery jquery-svg

我正在尝试动态创建此功能:

svg.path($('#shape23'), 
path.move(333,410)
.smoothC(333,410,333,410)
.smoothC(217.5,415.75,217.5,415.75)
.smoothC(333,500,333,500)
.close(),  {fill: '#CCCCCC'});

...第二个参数的变量值(从path.move到close()):

var myPath = 'path.move(333,410)';
myPath += '.smoothC(333,410,333,410)';
myPath += '.smoothC(217.5,415.75,217.5,415.75)';
myPath += '.smoothC(333,500,333,500)';
myPath += '.close()';

 svg.path($('#shape23'), myPath,  {fill: '#CCCCCC'});

...但是我收到了解析错误。

在我撕掉剩余的头发之前,有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

试试这个

svg.path($('#shape23'), eval(myPath),  {fill: '#CCCCCC'});

答案 1 :(得分:0)

我应该使用那些svg构造函数,我使用XML ...

path = Document.createElementNS( 'http://www.w3.org/2000/svg', 'path' );
path.setAttribute( 'id', '#shape23' );
path.setAttribute( 'd', 'm33,410 c333,410 217.5,415.75 333,500z' );
path.setAttribute( 'fill', '#CCCCCC' );

不确定路径指标,但您可以修复它们。