annotate client/digitallibrary/jquery/svg/svgBasics.html @ 770:6d7c51e4724b jquery

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