Я пытаюсь использовать SVG animate и animateTransform. Анимация запускается с помощью мыши и мыши.Я пытаюсь использовать SVG animate и animateTransform
Первый пример, который я сделал, изменяет цвета объектов во время событий mouseover и mouseout и, кажется, работает хорошо.
Во втором Я пытаюсь изменить поворот во время событий mouseover и mouseout , используя: fill = "freeze" additive = "sum".
Но, кажется, хорошо работает только при первом наведении курсора мыши, все следующее событие наведения курсора происходит странным образом.
Я пробовал много раз, изменяя все параметры, но я думаю, может быть, это ошибка SVG.
спасибо за вашу помощь
это ссылка
https://www.googledrive.com/host/0BwRlR3z6e0egY2RtWXZmVmU1Y0U/test_mouse_in_out.svg
Это код
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" x="0px" y="0px" width="842px" height="595px" viewBox="0 0 842 595" enable-background="new 0 0 842 595" xml:space="preserve" xmlns:xml="http://www.w3.org/XML/1998/namespace">
<path transform="matrix(1 0 0 1 552.381 250.537)" stroke-width="1.4834077083798625" stroke-miterlimit="3" stroke="#000000" fill="#3D70B1" d="... ">
<animateTransform xmlns="http://www.w3.org/2000/svg" attributeName="transform" type="rotate" begin="mouseover" dur="1" repeatCount="1" fill="freeze" additive="sum" calcMode="spline" keySplines=".5 0 .5 1" values="0 50 25;180 50 25"/>
<animateTransform xmlns="http://www.w3.org/2000/svg" attributeName="transform" type="rotate" begin="mouseout" dur="2" repeatCount="1" fill="freeze" additive="sum" calcMode="spline" keySplines=".5 0 .5 1" values="0 50 25;-180 50 25"/>
</path>
<path transform="matrix(1 0 0 1 150.733 232.565)" stroke-width="1.0106517551310161" stroke-miterlimit="3" stroke="#000000" fill="#2128DF" d="...">
<animate xmlns="http://www.w3.org/2000/svg" attributeName="fill" attributeType="CSS" begin="mouseover" dur="0.5" restart="whenNotActive" repeatCount="1" fill="freeze" to="#FF0000"/>
<animate xmlns="http://www.w3.org/2000/svg" attributeName="fill" attributeType="CSS" begin="mouseout" dur="0.5" repeatCount="1" fill="freeze" to="#2128DF"/>
</path>
</svg>
да, спасибо, это работает в Firefox, но не в хроме :( –
опс, не тот и наведении курсора мыши MouseOut перезапустить анимации с начала и не из текущего tranform. –
Я не» я понял, что вы хотите, чтобы анимация повторялась так же, как когда мышь входила и уходила в первый раз каждый раз, на Firefox, вот что происходит. Возможно, у Chrome есть ошибка. –