下面的代码片段是从 J Eisenberg 的SVG Essentials的示例 11-9 中稍作修改而提取的。
<!DOCTYPE html>
<html>
<head><title>title</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1"
width="300" height="200" viewBox="0 0 300 200">
<circle cx="60" cy="60" r="30"
style="fill: #ff9; stroke: gray; stroke-width:10;">
<animateColor attributeName="fill"
begin="0.5s" dur="2s" from="#ff9" to="red" fill="freeze"/>
<animateColor attributeName="stroke"
begin="0.5s" dur="2s" from="gray" to="blue" fill="freeze"/>
</circle>
</svg>
</body>
</html>
代码的目的是呈现一个圆圈,其填充和描边颜色在 2 秒的时间间隔内从#ff9
黄色和灰色 (resp.) 变为红色和蓝色 (resp.)。
当我使用 Firefox 访问此页面时,我确实看到了一个带有灰色轮廓的黄色圆圈,但颜色从未改变。
为了达到预期的效果
我必须如何更改上面的代码?
PS:当然,艾森伯格的书很旧(2002 年),但是 AFAICT 的语法animateColor
仍然是他所描述的。此外,FWIW、Firefox 正确显示了我在同一本书中尝试过的其他动画示例。