【发布时间】:2013-11-14 03:46:51
【问题描述】:
我有一个非常简单的 svg.js 动画,只要页面打开,我就想循环运行它。在浏览github、documentation 或stack overflow 页面时,我找不到任何东西。没有循环的动画的工作版本可以在here 找到。重要的js是:
//create the svg element and the array of circles
var draw = SVG('canvas').size(300, 50);
var circ = [];
for (var i = 0; i < 5; i++) {
//draw the circles
circ[i] = draw.circle(12.5).attr({
fill: '#fff'
}).cx(i * 37.5 + 12.5).cy(20);
//first fade the circles out, then fade them back in with a callback
circ[i].animate(1000, '<>', 1000 + 100 * i).attr({
opacity: 0
}).after(function () {
this.animate(1000, '<>', 250).attr({
opacity: 1
});
});
}
我知道如果没有 js 库,这很容易做到,但我认为这只是使用 svg.js 的第一步。后来我计划将它用于更强大的动画。感谢您的任何建议或指示。
【问题讨论】:
-
你的错误是什么?你签出 d3.js 了吗?
-
没有错误,我很容易让它淡入淡出一次。我正在寻找的是如何无限期地重复它。过去我在一些图表中使用过 d3,但我希望专门使用 svg.js 来拓宽我的视野广告,因为它是一个很小的库。如果它不能用 svg.js 完成,那么我肯定会再研究一下 d3。
-
知道了,您为什么可以使用您或我的示例,并使用 While(x) 而不是您的 for 循环,并且从不将 x 设置为 false?
-
或者干脆把你的for循环改成无限循环?
-
我试过了,但它只是冻结了页面,
标签: javascript svg svg.js