762
|
1
|
756
|
2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
|
3 "http://www.w3.org/TR/html4/strict.dtd">
|
|
4 <html>
|
762
|
5 <head>
|
|
6 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
|
7 <title>jQuery SVG Basics</title>
|
|
8 <style type="text/css">
|
756
|
9 @import "jquery.svg.css";
|
|
10
|
762
|
11 #svgbasics { position: absolute; border: 1px solid blue; }
|
|
12 #img img {width: 400px; }
|
|
13
|
|
14 </style>
|
|
15 <script type="text/javascript" src="../dlGeometry.js"></script>
|
|
16 <script type="text/javascript" src="../jquery-1.4.4.js"></script>
|
|
17 <script type="text/javascript" src="jquery.svg.js"></script>
|
|
18 <script type="text/javascript">
|
756
|
19 $(function() {
|
762
|
20 var geom = dlGeometry();
|
|
21 var svg = $('#svgbasics');
|
|
22 var $div = $('#img img');
|
|
23 var divrect = geom.rectangle($div);
|
|
24 divrect.addPosition({x: -1, y: -1}).adjustDiv(svg);
|
|
25 svg.svg({onLoad: drawInitial});
|
756
|
26 $('button').click(drawShape);
|
|
27 });
|
|
28
|
|
29 function drawInitial(svg) {
|
|
30 svg.circle(75, 75, 50, {fill: 'none', stroke: 'red', 'stroke-width': 3});
|
|
31 var g = svg.group({stroke: 'black', 'stroke-width': 2});
|
|
32 svg.line(g, 15, 75, 135, 75);
|
|
33 svg.line(g, 75, 15, 75, 135);
|
762
|
34 svg.configure({viewPort: '0 0 100 100', overflow: 'visible' }, false);
|
756
|
35 }
|
|
36
|
|
37 var colours = ['purple', 'red', 'orange', 'yellow', 'lime', 'green', 'blue', 'navy', 'black'];
|
|
38
|
|
39 function drawShape() {
|
|
40 var shape = this.id;
|
|
41 var svg = $('#svgbasics').svg('get');
|
|
42 if (shape == 'rect') {
|
|
43 svg.rect(random(300), random(200), random(100) + 100, random(100) + 100,
|
|
44 {fill: colours[random(9)], stroke: colours[random(9)],
|
|
45 'stroke-width': random(5) + 1});
|
|
46 }
|
|
47 else if (shape == 'line') {
|
|
48 svg.line(random(400), random(300), random(400), random(300),
|
|
49 {stroke: colours[random(9)], 'stroke-width': random(5) + 1});
|
|
50 }
|
|
51 else if (shape == 'circle') {
|
|
52 svg.circle(random(300) + 50, random(200) + 50, random(80) + 20,
|
|
53 {fill: colours[random(9)], stroke: colours[random(9)],
|
|
54 'stroke-width': random(5) + 1});
|
|
55 }
|
|
56 else if (shape == 'ellipse') {
|
|
57 svg.ellipse(random(300) + 50, random(200) + 50, random(80) + 20, random(80) + 20,
|
|
58 {fill: colours[random(9)], stroke: colours[random(9)],
|
|
59 'stroke-width': random(5) + 1});
|
|
60 }
|
|
61 else if (shape == 'clear') {
|
|
62 svg.clear();
|
|
63 }
|
762
|
64 else if (shape == 'zoom') {
|
770
|
65 svg.configure({viewBox: '0 0 800 1000'}, true);
|
|
66 //svg.animate({svgViewBox: '0, 0, 100, 100'}, 2000);
|
762
|
67 }
|
|
68
|
756
|
69 }
|
|
70
|
|
71 function random(range) {
|
|
72 return Math.floor(Math.random() * range);
|
|
73 }
|
|
74 </script>
|
762
|
75 </head>
|
|
76 <body>
|
|
77 <h1>jQuery SVG</h1>
|
|
78 <div id="img">
|
|
79 <img src="peterskuppel.jpg" />
|
|
80 </div>
|
|
81 <div id="svgbasics"></div>
|
|
82 <p>
|
|
83 <button id="rect">Add rectangle</button>
|
|
84 <button id="line">Add line</button>
|
|
85 <button id="circle">Add circle</button>
|
|
86 <button id="ellipse">Add ellipse</button>
|
|
87 <button id="zoom">Zoom</button>
|
|
88 <button id="clear">Clear</button>
|
|
89 </p>
|
|
90 </body>
|
756
|
91 </html>
|