我正在尝试使用SVG.js创建一个SVG,但是它似乎在我的文档中创建了多个SVG元素,而不是只创建一个元素。我已经将代码从homepage (http://www.svgjs.com/)复制粘贴到一个SVG.js文档中,但它做的是相同的事情。有人能帮我吗?
<meta http-equiv="content-type" content="text/html; charset=UTF8">
<html>
<head>
<title>Drawing</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="svg.min.js"></script>
</head>
<body>
<div id="drawing">
</div>
<script>
var draw = SVG('drawing')
// create image
var image = draw.image('images/shade.jpg')
image.size(600, 600).y(-150)
// create text
var text = draw.text('SVG.JS').move(300, 0)
text.font({
family: 'Source Sans Pro'
, size: 180
, anchor: 'middle'
, leading: 1
})
// clip image with text
image.clipWith(text)
</script>
</body>
</html>发布于 2015-10-15 05:49:55
原因很简单。svg.js只创建了2个文档。一个用于显示它,另一个是隐藏的,用作不同功能的解析器。这样,lib就可以计算数组的边界框。
请注意,此解析器只创建一次。因此,即使您构建了多个svg文档,也将只有一个额外的文档用于解析
这里记录了这一点:http://svgjs.dev/faq/#two-svg-s-are-generated-when-i-initialize-svg-js-is-that-a-bug
https://stackoverflow.com/questions/23879328
复制相似问题