Синтаксические ошибки:
id
в коде должно быть уникальным
Вместо xlinkHref
должно быть xlink: href
В имени ID
не должно быть дефиса id = "node-shadow"
, поскольку SVG воспринимает его как минус и анимация не работает.Правильное написание id =" node_shadow "
Ниже приведен пример анимации атрибута фильтра dx
.
Анимация начинается при наведении курсора
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="800" height="250" viewBox="0 0 800 250" >
<defs>
<filter id="filter_shadow" height="130%">
<feDropShadow
id="node_shadow"
dx="1"
dy="1"
stdDeviation="1"
floodColor="gray"
floodOpacity="0.8"
/>
</filter>
</defs>
<path id="path1" fill="#39cb58" d="M332.8,20.3c-40.4,0-73.2,32.8-73.2,73.2l-0.1,1.6c0,51.3-41.6,93-93,93s-93-41.6-93-93l0-1.6c0-40.4-32.8-73.2-73.2-73.2l0-19.8c51.3,0,93,41.6,93,93l0,1.6c0,40.4,32.8,73.2,73.2,73.2s73.2-32.8,73.2-73.2l0.1-1.6c0-15,3.6-29.2,9.9-41.7C265,21.4,296.5,0.5,332.8,0.5V20.3z" filter="url(#filter_shadow)">
</path>
<animate id="animate_node_shadow" xlink:href="#node_shadow" attributeName="dx" values="1;3" begin="path1.mouseover" dur="1s" fill="freeze"/>
</svg>
анимация stdDeviation
в коде изменяется только атрибут attributeName = "stdDeviation"
<svg version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="800" height="250" viewBox="0 0 800 250" >
<defs>
<filter id="filter_shadow" width="130%" height="130%">
<feDropShadow
id="node_shadow"
dx="1"
dy="1"
stdDeviation="1"
floodColor="gray"
floodOpacity="0.8"
/>
</filter>
</defs>
<path id="path1" fill="#39cb58" d="M332.8,20.3c-40.4,0-73.2,32.8-73.2,73.2l-0.1,1.6c0,51.3-41.6,93-93,93s-93-41.6-93-93l0-1.6c0-40.4-32.8-73.2-73.2-73.2l0-19.8c51.3,0,93,41.6,93,93l0,1.6c0,40.4,32.8,73.2,73.2,73.2s73.2-32.8,73.2-73.2l0.1-1.6c0-15,3.6-29.2,9.9-41.7C265,21.4,296.5,0.5,332.8,0.5V20.3z" filter="url(#filter_shadow)">
</path>
<animate id="animate_node_shadow" xlink:href="#node_shadow" attributeName="stdDeviation" values="1;5" begin="path1.mouseover" dur="1s" fill="freeze"> </animate>
</svg>