Javascript 拉斐尔将元素放在右边,并在那里缩放

Javascript 拉斐尔将元素放在右边,并在那里缩放,javascript,animation,raphael,Javascript,Animation,Raphael,我有一个问题,我找不到任何解决办法 var sunSmallSet = RAF.paper.set(); var sunSet = RAF.paper.set(); RAF.paper.importSVG(RAFSVG.sunsmall(), sunSmallSet); RAF.paper.importSVG(RAFSVG.sunfull(), sunSet); sunSmallSet.transform("t62, 62"); sunSet.transform("t62, 62"); va

我有一个问题,我找不到任何解决办法

var sunSmallSet = RAF.paper.set();
var sunSet = RAF.paper.set();
RAF.paper.importSVG(RAFSVG.sunsmall(), sunSmallSet);
RAF.paper.importSVG(RAFSVG.sunfull(), sunSet);

sunSmallSet.transform("t62, 62");
sunSet.transform("t62, 62");

var anim = Raphael.animation({transform: "s0.8 0.8"}, "2000", function(){
    sunSet.animate(animBack);
});
var animBack = Raphael.animation({transform: "s1 1"}, "2000", function(){
    sunSet.animate(anim);
});

sunSet.animate(anim);
  • 上变换用于将两个太阳平移到它们的位置
  • 通过动画中的变换,我尝试在当前位置缩放太阳 发生的情况是太阳正移回0,0的位置


    下面是一个简化的示例:

    当您查看拉斐尔时,您将了解到用于动画的变换是对目标执行的一组累积操作,每次再次变换时都会重置这些操作。这意味着,一旦应用一个转换(即
    t62 62
    ),您将用下一个(
    s.8.8
    )覆盖它

    如果不想将圆移回其原始位置,则需要预先完成已执行的平移。这可以通过将
    t62 62
    预先添加到动画中来完成,如下所示:

    var anim = Raphael.animation({transform: "t62 62 s.8 .8"}, "2000", function(){
      circle.animate(animBack);
    });
    

    以适当的方式修复示例,并在第一次平移后放置圆的位置上缩放圆。我冒昧地强调了缩放操作,将其从
    s.8.8
    -
    s1 1
    更改为
    s1 1
    -
    s2 2
    当您查看拉斐尔时,您将了解到用于动画的变换是对目标执行的一组累积操作,每次再次变换时都会重置。这意味着,一旦应用一个转换(即
    t62 62
    ),您将用下一个(
    s.8.8
    )覆盖它

    如果不想将圆移回其原始位置,则需要预先完成已执行的平移。这可以通过将
    t62 62
    预先添加到动画中来完成,如下所示:

    var anim = Raphael.animation({transform: "t62 62 s.8 .8"}, "2000", function(){
      circle.animate(animBack);
    });
    

    以适当的方式修复示例,并在第一次平移后放置圆的位置上缩放圆。我冒昧地强调了缩放操作,将其从
    s.8.8
    -
    s1 1
    更改为
    s1 1
    -
    s2 2

    我想我可以回答这个问题,但我需要演示一下这里就是这个问题的一个例子。当我为红点的比例设置动画时,它也会移动到点0,0。有没有什么方法可以在他目前的位置上缩小红点?我想我可以回答这个问题,但我需要演示一下,这是一个问题的例子。当我为红点的比例设置动画时,它也会移动到点0,0。有没有什么方法可以在他目前的位置上缩小红点?谢谢你,我在过去的一天里搜索了很多关于拉斐尔动画的内容,但只有少数几个网站提到了这一点。谢谢你,我在过去的一天里搜索了很多关于拉斐尔动画的内容,但只有少数几个网站提到了这一点