DOMMatrixReadOnly: translate() Methode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Januar 2020 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die translate()-Methode der DOMMatrixReadOnly-Schnittstelle erstellt eine neue Matrix, die das Ergebnis der ursprünglichen Matrix mit einer angewendeten Translation ist.
Syntax
translate(translateX, translateY)
translate(translateX, translateY, translateZ)
Parameter
translateX-
Eine Zahl, die die Abszisse (x-Koordinate) des Translationsvektors darstellt.
translateY-
Eine Zahl, die die Ordinate (y-Koordinate) des Translationsvektors darstellt.
translateZOptional-
Eine Zahl, die die z-Komponente des Translationsvektors darstellt. Wenn nicht angegeben, wird standardmäßig 0 verwendet. Wenn dieser Wert ungleich 0 ist, wird die resultierende Matrix dreidimensional.
Rückgabewert
Gibt eine DOMMatrix zurück, die eine neue Matrix enthält, die das Ergebnis der Matrix ist, die um den angegebenen Vektor übersetzt wird. Die ursprüngliche Matrix wird nicht verändert.
Wenn eine Translation bezüglich der z-Achse angewendet wird, ist die resultierende Matrix eine 4x4 3D-Matrix.
Beispiele
Dieses SVG enthält zwei Quadrate, eines rot und eines blau, die jeweils am Dokumentursprung positioniert sind:
<svg width="250" height="250" viewBox="0 0 50 50">
<rect width="25" height="25" fill="red" />
<rect id="transformed" width="25" height="25" fill="blue" />
</svg>
Das folgende JavaScript erstellt zunächst eine Identitätsmatrix und verwendet dann die translate()-Methode, um eine neue, übersetzte Matrix zu erstellen — diese wird dann auf das blaue Quadrat als transform angewendet. Das rote Quadrat bleibt unverändert.
const matrix = new DOMMatrixReadOnly().translate(25, 25);
document
.querySelector("#transformed")
.setAttribute("transform", matrix.toString());
Spezifikationen
| Spezifikation |
|---|
| Geometry Interfaces Module Level 1> # dom-dommatrixreadonly-translate> |