当我在snap.svg中变换一条线时,它会旋转回其原始位置吗?

当我在snap.svg中变换一条线时,它会旋转回其原始位置吗?,svg,snap.svg,Svg,Snap.svg,尝试为项目制作简单的svg动画。我需要画一条线,旋转它,然后在屏幕上移动它。我尝试过使用“变换”和“平移”来执行此操作,但直线始终会旋转回其原始位置。如何移动直线而不使其向后旋转 这是我的代码笔和代码: window.onload=function(){ var s=Snap(“#svg”); var square=s.select(“#square”); var line=s.select(“#divide”); var diagonal=s.select(“#diagonal”); 正方形

尝试为项目制作简单的svg动画。我需要画一条线,旋转它,然后在屏幕上移动它。我尝试过使用“变换”和“平移”来执行此操作,但直线始终会旋转回其原始位置。如何移动直线而不使其向后旋转

这是我的代码笔和代码:

window.onload=function(){
var s=Snap(“#svg”);
var square=s.select(“#square”);
var line=s.select(“#divide”);
var diagonal=s.select(“#diagonal”);
正方形。动画({
不透明度:1500);
setTimeout(函数(){
线条动画({
不透明度:1},250);
}, 2000);
setTimeout(函数(){
线条动画({
变换:“r-90249.25506.458'},500);
}, 3000);
setTimeout(函数(){
对角线动画({
不透明度:1},250);
}, 4000);
setTimeout(函数(){
对角线动画({
转换:“r64225.25506.458'},500);
}, 5000);
setTimeout(函数(){
对角线动画({
变换:“r-64225.25506.458”,
transform:'translate(49,0)},500);
}, 6000);
}

我不确定你想要的效果是什么,因为这条线的大小不同,如果你想在矩形的中心画一个十字,但是你可能想使用你已经应用的初始变换(),所以当我们构建Transfer时,它看起来像下面这样

diagonal.animate({
    transform: 'r-64, 225.25, 506.458',
    transform: 't25,0' + diagonal.transform() +'s0.9'}, 
500);

对不起,我没有解释清楚-我只想让对角线在屏幕上移动,处于新的水平位置。当我像这样建立变换时,它仍然会在移动后返回其原始旋转<代码>对角线。动画({transform:'r64225.25506.458',transform:'t49,0')},500)转换是绝对的,而不是相对的,因此您需要在任何后续转换中包含上一个转换。谢谢!你的代码真的很有用,我知道了