2012-01-17 17 views
1

我试图动态创建这个函数:试图通过字符串函数参数为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关闭()) :

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'}); 

...但我得到一个解析错误。

任何人都可以帮我撕下我的头发吗?

回答

0

试试这个

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

天才,谢谢你! – Mogstar 2012-01-17 18:28:32

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'); 

不知道路径度量的,但你可以解决这些问题。