Создать JavaScript динамический SVG - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь создать динамический svg, используя javascipt

мой результат -

<svg xmlns='http://www.w3.org/2000/svg' viewBox='5279 1710 12.125 12.125'> 
    <g  transform='translate(4311 1165)'>
        <path  fill='#fffff' d='M346.045,76.5a5.632,5.632,0,0,0,0,8.245,6.143,6.143,0,0,0,1.6-4.122A6' transform='translate(632.48 470.439)'/> 
    </g>
</svg>

JS-код, чтобы получить изображение выше:

const svg1 = document.createElementNS('http://www.w3.org/2000/svg', 'svg')

svg1.setAttribute('viewBox', '5279 1710 12.125 12.125')
svg1.setAttribute('transform', 'translate(4311 1165)')
svg1.setAttribute('fill', 'fffff')
svg1.setAttribute('d', "M346.045,76.5a5.632,5.632,0,0,0,0,8.245,6.143,6.143,0,0,0,1.6-4.122A6'")

1 Ответ

0 голосов
/ 26 февраля 2019

То, что вы ошибаетесь, это то, что вы добавляете атрибут 'd' в svg, а не создаете путь и ag, попробуйте это

(function () {
  var element = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
  element.setAttribute('viewBox', '5279 1710 12.125 12.125');
  
  var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');
  g.setAttribute('transform', 'translate(4311 1165)');
  
  var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
  path.setAttribute('fill', '#000000');
  path.setAttribute('d', 'M346.045,76.5a5.632,5.632,0,0,0,0,8.245,6.143,6.143,0,0,0,1.6-4.122A6');
  path.setAttribute('transform', 'translate(632.48 470.439)');
  
  
  g.appendChild(path);
  element.appendChild(g);
  
  document.querySelector('body').appendChild(element);
})();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...