Spec-Zone.ru › Web APIs

SVGLengthList

Базовая поддержка Широко распространена

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Интерфейс SVGLengthList определяет список объектов SVGLength. Он используется для свойств baseVal и animVal объекта SVGAnimatedLengthList.

Объект SVGLengthList может быть обозначен как только для чтения, что означает, что попытки изменить объект приведут к выбросу исключения.

Объект SVGLengthList индексируется и может быть доступен как массив.

Свойства экземпляра

length

Количество элементов в списке.

numberOfItems

Количество элементов в списке.

Методы экземпляра

appendItem()

Вставляет новый элемент в конец списка.

clear()

Очищает все существующие элементы из списка, в результате получается пустой список.

initialize()

Очищает все существующие элементы из списка и повторно инициализирует список для хранения единственного элемента, указанного параметром.

getItem()

Возвращает указанный элемент из списка.

insertItemBefore()

Вставляет новый элемент в список в указанную позицию.

removeItem()

Удаляет существующий элемент из списка.

replaceItem()

Заменяет существующий элемент в списке новым элементом.

Примеры

Использование SVGLengthList

Объект SVGLengthList можно получить из объекта SVGAnimatedLengthList, который сам может быть получен из многих атрибутов изменяемой длины, таких как SVGTextPositioningElement.x.

HTML

<svg
  viewBox="0 0 200 100"
  xmlns="http://www.w3.org/2000/svg"
  width="200"
  height="100">
  <text id="text1" x="10" y="50">Hello</text>
</svg>
<button id="equally-distribute">Equally distribute letters</button>
<button id="reset-spacing">Reset spacing</button>
<div>
  <b>Current <code>SVGLengthList</code></b>
  <pre><output id="output"></output></pre>
</div>

JavaScript

const text = document.getElementById("text1");
const output = document.getElementById("output");
const list = text.x.baseVal;
function equallyDistribute() {
  list.clear();
  for (let i = 0; i < text.textContent.length; i++) {
    const length = text.ownerSVGElement.createSVGLength();
    length.value = i * 20 + 10;
    list.appendItem(length);
  }
  printList();
}
function resetSpacing() {
  const length = text.ownerSVGElement.createSVGLength();
  length.value = 10;
  list.initialize(length);
  printList();
}
function printList() {
  output.textContent = "";
  for (let i = 0; i < list.length; i++) {
    output.innerText += list.getItem(i).value + "\n";
  }
}
printList();

document
  .getElementById("equally-distribute")
  .addEventListener("click", equallyDistribute);
document
  .getElementById("reset-spacing")
  .addEventListener("click", resetSpacing);

Результат

Спецификации

Спецификация
Векторная графика масштабируемая (SVG) 2
# InterfaceSVGLengthList

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
SVGLengthList 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
appendItem 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
clear 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
getItem 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
initialize 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
insertItemBefore 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
length 35 79 5 ≤12.1 13.1 35 5 ≤12.1 13.4 3.0 37
numberOfItems 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
removeItem 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3
replaceItem 1 12 1.5 ≤12.1 3 18 4 ≤12.1 1 1.0 3

См. также

  • SVGNumberList
  • SVGPointList
  • SVGStringList
  • SVGTransformList

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SVGLengthList

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API