2012-04-10 24 views

Antwort

3

Ich habe mit einem simplen jsfiddle für Sie kommen. Grundsätzlich ändern Sie den Stil der jeweiligen SVG-Elemente wie bei normalen DOM-Elementen.

+0

Dank für die Hilfe, wenn ich mehr Formen hinzufügen möchte, wie würde ich angeben, welche Taste für welche Form verwendet werden kann? – Len

+0

Mit dem Attribut 'ID' des Formelements können Sie das bestimmte Element auswählen, nach dem Sie handeln möchten. Sie können eine Reihe von Radiobuttons haben, die eine bestimmte Variable aktualisieren, die die ID eines Elements angibt, für das die Farbe geändert werden soll. –

2

Wenn Sie eine Anzahl dieser Formen haben, dann schauen Sie sich die d3 library, die explizit entworfen ist, damit Sie Daten an SVG-Attribute binden können. Eine gute Erklärung für die Funktionsweise ist das Tutorial Three little circles.

Wenn Sie wollen einfach nur ein Attribut eines svg Form ändern auf eine Schaltfläche klicken, dann müssen Sie ein Onclick-Handler für die Schaltfläche:

function handleClick() { 
    // code to modify svg here, e.g.: 
    document.getElementById('svgShapeId').setAttribute('cx',150); 
} 

document.getElementById('buttonId').onclick = handleClick; 
0

Hier ist ein Beispiel JS die Verwendung von Animationselementen zu schaffen, Farben zu markieren, basierend auf der Maus über/out:
http://phrogz.net/SVG/change-color-on-hover.svg

Hier ein Beispiel für ein SVG ist, die viele Farben und Haus einiger dummen Mouseover-Tasten ändern:
http://phrogz.net/SVG/rgbhsv.svg

Hier ist ein Beispiel, das SVG in XHTML zeigt, mit beiden nativen HTML-Widgets (ein HTML5-Slider) sowie ziehbar SVG-Elemente (der Pfad Griffe):
http://phrogz.net/SVG/area_of_path.xhtml

Allgemein gilt:

  1. Elemente finden
  2. Attach Event-Handler
  3. In den Event-Handler, passen Eigenschaften (entweder über XML Einstellung Attribute oder über die SVG DOM)
Verwandte Themen