如何使用Element.status();在Raphael.js

时间:2017-03-06 08:36:16

标签: raphael

文档过于简洁。 谁能知道如何在Raphael.js中使用Element.status()? 非常感谢您能举办演示。

1 个答案:

答案 0 :(得分:0)

Element.status显示应用于元素的当前动画,或者您可以设置特定动画的状态。

考虑在0和1之间插值的动画。因此,在动画的一半时,它的值为0.5。这适用于正在设置动画的任何属性。 (因此,如果动画x从0到100的中途,状态将为0.5,x将为50,不考虑任何像弹跳一样的缓和)。

因此,假设我们不是在属性之间创建一个很好的平滑插值,而是想让一个元素在10个不连续的步骤中移动。我们可以手动设置每次动画的状态。实施例。

var raphAnimation = Raphael.animation( { x: 100, y: 100 }, 1000);
rect.status( raphAnimation, 0.5 )

example jsfiddle

var rect = paper.rect(10, 20, 300, 200);

var raphAnimation = Raphael.animation( { x: 100, y: 100 }, 1000);

for( var c = 1; c <= 10; c++ ) {
    (function() {
      var step = c
      setTimeout( function() { 
        rect.status( raphAnimation, 0.1 * step )
      }, step * 200)
    })();
}

注意:如果您重复使用状态设置命令,我认为它会将动画视为新鲜动画。因此,假设动画从0-> 100并且您将状态设置为0.5,它将在一半。现在假设你做了同样的事情并用0.5再次调用它,它现在将是剩余的&#39;因为它现在只有一半的距离可以穿越。