我想在没有 SMIL 或库(jquery、Snap.svg、Velocity.js 等)的情况下对 svg 路径数据进行变形/动画处理,只需纯 javascript(如果可能,还可以使用 css)。我想这样做是因为 Chrome 已弃用 SMIL,他们建议使用 css 或“Web 动画”进行动画处理——它们对 Web 动画意味着什么??-。例如,我想在下面的代码中将 id 为“rect1”的路径变形为 id 为“rect2”的路径:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>morph/animate svg path data WITHOUT SMIL or libraries (jquery, Snap.svg, Velocity.js etc.), just pure javascript</title>
</head>
<body>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
width="500px" height="500px"
viewBox="0 0 500 500"
>
<g id="layer1">
<path id="rect1" d="m25 7.3 61 12-6 57-71 6z" stroke="#f00" stroke-miterlimit="10" stroke-width="2" fill="none"/>
</g>
<g id="layer2">
<path id="rect2" d="m9.3 34 59-27 26 41-54 42z" stroke="#f00" stroke-miterlimit="10" stroke-width="2" fill="none"/>
</g>
</svg>
<script>
// code for animating/morphing path with id "rect1" to path with id "rect 2"
</script>
</body>
</html>