SVGLength: newValueSpecifiedUnits() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

SVGLength 介面的 newValueSpecifiedUnits() 方法使用關聯的 unitType 以數字形式重置值,從而替換物件上所有屬性的值。

語法

js
newValueSpecifiedUnits(unitType, valueInSpecifiedUnits)

引數

unitType

一個常量,表示長度值應轉換到的單位型別。這必須是為 unitType 屬性定義的常量值之一,但 SVG_LENGTHTYPE_UNKNOWN 除外。

  • SVGLength.SVG_LENGTHTYPE_NUMBER:轉換為無單位數字
  • SVGLength.SVG_LENGTHTYPE_PERCENTAGE:轉換為百分比
  • SVGLength.SVG_LENGTHTYPE_EMS:轉換為 em 單位
  • SVGLength.SVG_LENGTHTYPE_EXS:轉換為 ex 單位
  • SVGLength.SVG_LENGTHTYPE_PX:轉換為畫素
  • SVGLength.SVG_LENGTHTYPE_CM:轉換為釐米
  • SVGLength.SVG_LENGTHTYPE_MM:轉換為毫米
  • SVGLength.SVG_LENGTHTYPE_IN:轉換為英寸
  • SVGLength.SVG_LENGTHTYPE_PT:轉換為點 (points)
  • SVGLength.SVG_LENGTHTYPE_PC:轉換為派卡 (picas)
valueInSpecifiedUnits

以指定的單位表示的長度值的數值因子。

返回值

無(undefined)。

異常

此方法可能會丟擲以下型別之一的DOMException

NotSupportedError DOMException

如果 unitTypeSVG_LENGTHTYPE_UNKNOWN 或不是有效的單位型別常量,則丟擲異常。

NoModificationAllowedError DOMException

如果 SVGLength 對應於只讀屬性,或者物件本身是隻讀的,則丟擲異常。

示例

使用特定單位設定長度值

js
// Get an SVGLength object
const svg = document.querySelector("svg");
const length = svg.createSVGLength();

// Set a new value with specific units
length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_NUMBER, 45);
console.log(length.valueInSpecifiedUnits); // Output: 45
console.log(length.unitType); // Output: 1 (SVG_LENGTHTYPE_NUMBER)
console.log(length.value); // The value converted to the user coordinate system

// Change the value to pixels
length.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PX, 100);
console.log(length.valueInSpecifiedUnits); // Output: 100
console.log(length.unitType); // Output: 5 (SVG_LENGTHTYPE_PX)

規範

規範
Scalable Vector Graphics (SVG) 2
# __svg__SVGLength__newValueSpecifiedUnits

瀏覽器相容性

另見