snap.js set.animate(array)无法按需工作

时间:2018-10-13 14:23:21

标签: snap.svg

我尝试使用Set.animate()为Snap.js集(快照0.5.1)设置动画。在手册中,我可以阅读 http://snapsvg.io/docs/#Set.animate这:

// animate first element to radius 10, but second to radius 20 and in different time
set.animate([{r: 10}, 500, mina.easein], [{r: 20}, 1500, mina.easein]);

在我可以阅读的手册中,我可以将动画数组作为第一个参数传递,例如

Set.animate(arr)

但这不起作用。

如果我尝试

set.animate([{r: 10}, 500, mina.easein], [{r: 20}, 1500, mina.easein]);

这很好。但是如果我尝试

var arr = [[{r: 10}, 500, mina.easein], [{r: 20}, 1500, mina.easein]];
set.animate(arr);

将导致此错误

InvalidCharacterError: String contains an invalid character snap.svg.js:1000

有人可以帮助我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

我不认为这是一个错误,这是因为您正在传递一个数组数组,而不是将数组传递到参数中,这就是我之前在评论中提到的地方。

所以我认为这可能可行(因为它将把数组展开到参数列表中)...

set.animate.apply( set, arr );

例如http://jsfiddle.net/3nmL6tz1/