Beim Verschieben einer SVG Linie mit Marker im Internet Explorer 10 wird der Marker nicht mit verschoben: Unterschied zwischen den Versionen

Aus ITwiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „== Problem == Über JavaScript wird eine SVG Linie mit Marker per Änderung der Attribute für x1 und y1 oder x2 und y2 verschoben. In allen Browsern funktion…“)
 
 
Zeile 15: Zeile 15:
  
 
Die Variable svgNode ist das Node Objekt der Linie.
 
Die Variable svgNode ist das Node Objekt der Linie.
 +
 +
== Beispiel ==
 +
 +
Hier das Beispiel ohne Bugfix: [http://jsfiddle.net/swYRK jsFiddle]
 +
 +
Und hier das Beispiel mit Bugfix: [http://jsfiddle.net/swYRK/57 jsFiddle]
  
 
== Bewertung ==
 
== Bewertung ==

Aktuelle Version vom 4. September 2013, 08:47 Uhr

Problem[Bearbeiten]

Über JavaScript wird eine SVG Linie mit Marker per Änderung der Attribute für x1 und y1 oder x2 und y2 verschoben. In allen Browsern funktioniert es, nur im Internet Explorer 10 wird der definierte Marker der Linie (marker-start, marker-mid oder marker-end) jedoch nicht mit verschoben und bleibt auf der ursprünglichen Stelle stehen.

Lösung[Bearbeiten]

Dies ist ein Bug des Internet Explorer 10. Indem die Linie einfach erneut vor sich selbst eingefügt bzw. verschoben wird, kann dieser Bug umgangen werden:

if (navigator.appVersion.indexOf("MSIE 10") != -1)
{
    svgNode.parentNode.insertBefore(svgNode, svgNode);
}

Die Variable svgNode ist das Node Objekt der Linie.

Beispiel[Bearbeiten]

Hier das Beispiel ohne Bugfix: jsFiddle

Und hier das Beispiel mit Bugfix: jsFiddle

Bewertung[Bearbeiten]

War diese Information für dich hilfreich?
Bitte stimme unten ab.
0
0
0
Es wurden seit Erstellung der Umfrage am 02:37, 13. Nov. 2017 0 Stimmen abgegeben.
poll-id D41D8CD98F00B204E9800998ECF8427E