A few days ago, I got stuck in the mud of creating a svg dom with svg.js. After many test and searching, I found out that someting is different from the official manual.
The problem of using svg.js
For example, we write some dom in
<!DOCTYPE html>
<html>
<head>
<title>Creating SVG with SVG.js</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<script src="https://cdn.bootcss.com/svg.js/3.0.11/svg.min.js"></script>
</head>
<body>
<div id="drawing"></div>
<script>
// write down your javascript here..
</script>
</body>
</html>
The official manual (refer to https://svgjs.com/docs/3.0/getting-started/) said that <script>...</script>
part like this:
var draw = SVG('drawing').size(300, 300)
var rect = draw.rect(100, 100).attr({ fill: '#f06' })
The script above pass through on jsfiddle.net test (refer to https://jsfiddle.net/wout/wmtt8rkz/7/?utm_source=website&utm_medium=embed&utm_campaign=wmtt8rkz ). However, it doesn’t work on my case, no matter running on my MSIE 7.0 to 11.0 or Chrome 58. I felt so depressed that even could not got sleep for two whole days.
The way to write svg.js script and DOM
After many tests and searching, I found out that these code running:
1. Way 1:
DOM: <div id="drawing"></div>
Script 1: var draw = SVG().addTo('#drawing').size(1024,200);
or
Script 2: var draw = SVG().addTo('#drawing').size('100%', '100%');
2. Way 2:
DOM: <div class="drawing"></div>
Script 1: var draw = SVG().addTo('.drawing').size(1024,200);
or
Script 2: var draw = SVG().addTo('.drawing').size('100%', '100%');
3. Way 3:
DOM: <svg id="drawing"></svg>
Script 1: var draw = SVG('#drawing').size(1024, 200);
or
Script 2: var draw = SVG('#drawing').size('100%', '100%');
Done!
最后更新: 2019/02/10 21:51:52
作者: David Faraday
主用链接: https://faradays-studio.gitee.io/201902080900/
备用链接: https://faradays-studio.github.io/201902080900/
许可协议: CC BY-NC-SA 4.0.