У меня есть следующая анимация svg с использованием svg.js. Сначала я использовал CSS для анимации dashoffset, но он не работал в IE / Edge, поэтому я переключился на JS. До сих пор не работает. Как ни странно, если у меня очень тонкая ширина хода, это работает на скрипке.
const percent_complete = 75;
const progress = SVG.adopt(document.getElementById("progress-svg"));
const timer = 2500;
progress.each(function() {
this.attr({
stroke: "#cccccc",
"stroke-width": "6px"
});
if (this.hasClass("meter")) {
let len = this.length();
this.stroke({
dasharray: len + "px",
dashoffset: len + "px"
});
let to = len * ((100 - percent_complete) / 100);
this.stroke("#60cafe");
// if MS browser, just set attr
// if (browser.name === "edge" || browser.name === "ie") {
// this.attr({ "stroke-dashoffset": to + "px" });
// }
// animate svg
this.animate(timer).attr({
"stroke-dashoffset": to + "px"
});
}
});
скрипка