【发布时间】:2015-11-13 16:59:10
【问题描述】:
当我使用 snap.svg 为已经旋转的元素设置旋转动画时,我遇到了各种问题。
http://codepen.io/anon/pen/aOrrVz
var s = Snap.select("#Layer_1");
var rect1 = s.select("#rect1");
var rect2 = s.select("#rect2");
var oldRotate = rect2.transform().localMatrix.split().rotate;
this.spin = function() {
rect1.animate({transform:'r90,161.8,152.4'},1000, function(){
rect1.animate({transform:'r0,161.8,152.4'},1000);
});
rect2.animate({transform:'r-90,435.2,168.9'},1000, function(){
rect2.animate({transform:'r'+oldRotate+',435.2,168.9'},1000);
});
}
如果您查看 codepen,您会发现蓝色矩形的行为与另一个不同,它稍微下降了一点,并且在动画时似乎在两种不同的状态之间进行了插值。我猜这与矩阵有关,但我真的不知道如何处理它。
【问题讨论】:
标签: javascript svg rotation snap.svg