Ich versuche, einen Rollover mit dem SVG-Tag <set>
zu animieren, aber obwohl ich dur = "1s" festlege, erfolgt der Übergang sofort (in Firefox, Safari, Opera und Chrome)).SVG <set> Attribut 'tag's dur' animiert nicht
<html>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red">
<set attributeType="CSS" attributeName="fill" to="green" begin="mouseover" end="mouseout" dur="1s" />
</circle>
</svg>
</body>
</html>
ich die Wirkung erzielen kann, die ich zwei <animate>
Tags wollen, aber ich möchte den Übergang auf mehrere Elemente in der Lage sein anzuwenden, die unterschiedliche Ausgangs Farben haben können, die ich erhalten möchte (diese Methode erfordert, dass ich angeben die Anfangsfarbe "rot" im zweiten animierten Tag).
<html>
<body>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red">
<animate attributeType="CSS" attributeName="fill" to="green" begin="mouseover" dur="1s" fill="freeze" />
<animate attributeType="CSS" attributeName="fill" to="red" begin="mouseout" dur="1s" fill="freeze"/>
</circle>
</svg>
</body>
</html>
Der <set>
Tag in dem ersten Codesegment bewahrt die ursprünglichen Farben, aber der Übergang nicht animiert ist. Wenn mein Verständnis der w3-Spezifikation korrekt ist, sollte es sein - sieht das wie ein Browser-spezifischer Fehler aus, oder habe ich die w3-Spezifikation falsch verstanden? Gibt es einen besseren Weg?
Repro Fälle: http://jsfiddle.net/4xx5p/ (und das gilt auf Safari sowie Firefox) – Phrogz
Dank für die Überprüfung, dass es auch nicht in Safari funktioniert ; Ich habe gerade auch in Opera und Chrome getestet, und ich bekomme dort das gleiche Verhalten. – yasashiku