@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;
};
  • Вопрос задан
  • 1461 просмотр
Решения вопроса 1
Symphony
@Symphony Куратор тега JavaScript
А почему циклом не пройтись по всем path и не назначить каждому по отдельности?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект