Задать вопрос
@vanyproduction

Как посчитать для всех path их длину?

Здравствуйте.
Имеется:
<svg id="svg-image">
<path/>
<rect/>
<path/>
</svg>

Как через jquery посчитать длину всех path, которые входят в #svg-image?
Собственно, не могу понять как правильно дописать код, что ниже.
svg = $("#svg-image");
path = document.querySelector('path');
var pathLen = path.getTotalLength();
path.setAttribute('stroke-dasharray', pathLen);

===
обновил код, длина вычисляется, атрибут назначается. Но только для первого встречного path. Как это сделать для всех path в документе? А вообще - желательно, чтобы смотрел не в документ, а только в svg-элементы.
===
готовое решение для обработки всех path во всех svg. Без анимации, просто добавит в атрибуты длину пути.
var nS = 'http://www.w3.org/2000/svg';
var svgPaths = document.getElementsByTagNameNS(nS,'path');

for (var x = 0; x < svgPaths.length; x++) {
  var path = svgPaths[x];
  var pathDimensions = path.getTotalLength();
  path.style.strokeDasharray = pathDimensions;
  path.style.strokeDashoffset = pathDimensions;
};
  • Вопрос задан
  • 1506 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Symphony
@Symphony Куратор тега JavaScript
А почему циклом не пройтись по всем path и не назначить каждому по отдельности?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы