Es war eigentlich ziemlich schwer zu finden. Die Suche nach Methoden von SVGElement
führt zu Seiten, die sagen SVGElement
hat keine Methoden! Es tut in der Tat eine Menge von Methoden, aber sie werden vererbt:
http://www.w3.org/TR/SVG/types.html#InterfaceSVGLocatable
Je nachdem, was Sie wollen Sie das Ergebnis getCTM
oder getScreenCTM
können eine SVGPoint
, zu transformieren und so erfahren, wo Sie Element :
root = document.getElementById('root')
rec = document.getElementById('rec')
point = root.createSVGPoint()
# This is the top-left relative to the SVG element
ctm = rec.getCTM()
console.log point.matrixTransform(ctm)
# This is the top-left relative to the document
ctm = rec.getScreenCTM()
console.log point.matrixTransform(ctm)
http://jsfiddle.net/kitsu_eb/ZXVAX/3/
Schön! Ich wusste nichts über matrixTransform. Das Javascript ist leer in deiner Geige. Hast du aktualisiert? Versuche es auszuprobieren. –
Funktioniert! Vielen Dank. Working Fiddle: http://jsfiddle.net/T8aZP/14/ –
Ich habe versucht Thedeeno verbundenen Geige, aber ich habe nicht das Ergebnis, das ich erwartet hatte. Hier ist eine Verzweigung, die getBBox benutzt, um die anfänglichen Koordinaten des Punktes zu setzen: http://jsfiddle.net/kitsu_eb/T8aZP/15/ –