| <?xml version="1.0" standalone="no"?> |
| <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000802//EN" |
| "http://www.w3.org/TR/2000/CR-SVG-20000802/DTD/svg-20000802.dtd"> |
| |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| <!-- ====================================================================== --> |
| <!-- Modification of a rect's x attribute repeatedly starting from an --> |
| <!-- 'onclick' event handler. --> |
| <!-- --> |
| <!-- @author deweese@apache.org --> |
| <!-- @version $Id$ --> |
| <!-- ====================================================================== --> |
| |
| <?xml-stylesheet type="text/css" href="../../resources/style/test.css" ?> |
| <svg id="body" width="450" height="500" viewBox="0 0 450 500"> |
| <title><rect> x Animation in 'onclick'</title> |
| |
| <text x="50%" y="45" class="title"><rect> x Animation in 'onclick'</text> |
| |
| <script type="text/ecmascript"> |
| var t, start, end, inc, cont, frac=0; |
| |
| function startAnim(evt, target, xStart, xEnd){ |
| if (cont == 1) return; |
| t = document.getElementById(target); |
| start = xStart |
| end = xEnd; |
| cont = 1; |
| cyclopse(); |
| } |
| |
| function stopAnim(evt) { |
| cont = 0; |
| } |
| |
| function cyclopse() { |
| t.setAttribute('x', (end-start)*frac/100+start); |
| if (frac == 100) inc = -2; |
| if (frac == 0) inc = 2; |
| frac += inc; |
| if (cont == 1) |
| setTimeout('cyclopse()', 50); |
| } |
| </script> |
| |
| <g id="test-content"> |
| <g transform="translate(75,125)"> |
| <text class="legend" x="75" y="70">Position A</text> |
| |
| <rect id="originalPlaceShadowBorder" stroke="black" fill="none" |
| x="32" y="77" width="86" height="46" /> |
| |
| <g> |
| <circle cx="75" cy="100" r="10" style="fill:crimson;stroke:black;"/> |
| <line x1="75" x2="75" y1="90" y2="110" style="stroke:black;fill:none" /> |
| <line x1="65" x2="85" y1="100" y2="100" style="stroke:black;fill:none" /> |
| </g> |
| </g> |
| |
| <g transform="translate(225,125)"> |
| <text class="legend" x="75" y="70">Position B</text> |
| |
| <rect id="targetPlaceShadowBorder" fill="lightBlue" stroke="black" |
| x="32" y="77" width="86" height="46"/> |
| |
| <g > |
| <circle cx="75" cy="100" r="10" style="fill:crimson;stroke:black;"/> |
| <line x1="75" x2="75" y1="90" y2="110" style="stroke:black;fill:none" /> |
| <line x1="65" x2="85" y1="100" y2="100" style="stroke:black;fill:none" /> |
| </g> |
| </g> |
| |
| <g id="play" onclick="startAnim(evt, 'targetRect', 110, 260)" |
| stroke="black" fill="#DDD" transform="translate(160, 260)" > |
| <rect x="0" y="0" width="50" height="40" rx="5" ry="5"/> |
| <polygon fill="green" points="10,10 40,20 10,30"/> |
| </g> |
| |
| <g id="play" onclick="stopAnim(evt)" |
| stroke="black" fill="#DDD" transform="translate(240, 260)" > |
| <rect x="0" y="0" width="50" height="40" rx="5" ry="5"/> |
| <rect fill="yellow" x="10" y="10" width="10" height="20"/> |
| <rect fill="yellow" x="30" y="10" width="10" height="20"/> |
| </g> |
| |
| <rect id="targetRect" x="110" y="205" width="80" height="40" style="fill:red;fill-opacity:0.5" /> |
| |
| <text class="legend"> |
| <tspan x="225" y="330">Click on Play button (green triangle) to start animation</tspan> |
| <tspan x="225" y="345">Click on Pause button (yellow rects) to stop animation</tspan></text> |
| </g> |
| </svg> |