Jquery SVG преобразование странное поведение
Я пытаюсь повернуть SVG <polygon>
(или любой другой элемент), используя это:
var svg = new $.svg._wrapperClass($('#test'));
$(svg._svg).animate({svgTransform: 'rotate(720,100,100)'}, 2000);
Многоугольник действительно меняет свой угол, но с какой-то странной траекторией движения. Пожалуйста, перейдите по этой ссылке, чтобы увидеть его: http://jsfiddle.net/ExaBP/
Моя цель - сделать так, чтобы многоугольник вращался вокруг своего центра.
1 ответ
Решение
Проблема в том, что центр вращения вашего многоугольника находится на координате (0,0) > посмотрите на точки:
points="38.8313,102.22 42.1242,104.613 45.4171,107.005 44.1593,110.876 42.9015,114.747 38.8313,114.747 34.7611,114.747 33.5034,110.876 32.2456,107.005 35.5384,104.613"
Таким образом, если вы используете (cx,cy) для поворота в animate, эти параметры также будут анимированными, от 0 до 100, затем до 0.
Вы должны изменить центр до и после анимации.
Но здесь, я думаю, вам нужен другой подход:
- Попробуйте создать свой SVG прямо в HTML или JS
- или попробуйте изменить происхождение координат в вашей программе рисования перед экспортом.