circle.getTotalLength () Ошибка Internet Explorer - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь использовать метод .getTotalLength(), чтобы получить общую длину круга SVG.

    const circle = document.querySelector('.circle');

    const totalLength = circle.getTotalLength();

В Edge я получаю ошибку:

ReferenceError: 'getTotalLength' is not defined

Для дополнительного понимания элемент является svg <circle>, а не путем.

Как я могу определить в js, поддерживается ли это в Edge / Internet Explorer, и / или предоставить для него полизаполнение?

1 Ответ

3 голосов
/ 19 сентября 2019

Хотя вы не можете использовать метод getTotalLength, поскольку у вас есть круг, вы можете использовать формулу для периметра круга 2 * Math.PI * r , где r - эторадиус круга.Есть небольшая разница, но я не думаю, что это имеет значение.

console.log("getTotalLength",theCircle.getTotalLength());
let r = Number(theCircle.getAttribute("r")); //circle's radius
console.log("2*Math.PI*r",2*Math.PI*r)
svg{border:1px solid}
<svg>
  <circle id="theCircle" cx="150" cy="75" r="70" />
</svg>
...