【发布时间】:2018-03-29 01:03:11
【问题描述】:
我有一个圈子。我想创建一个函数,将其从 1 比例设置为 0.8 并返回到 1。我目前的工作是有效的,但是当我连续多次调用它并且几乎没有延迟时,动画会发生冲突,并且圆圈会以不同的方式结束(较小的)规模。
在进行所有缩放操作时,我希望圆圈保持在其位置。另外,我希望使用圆中心的锚点进行缩放。目前就是这种情况。
看看this fiddle。
由于以上原因,我得到了圆的当前变换:
var trans = elem.attr("transform");
重置它的比例:
trans.totalMatrix.scale(1);
并应用它:
elem.attr({transform: trans});
然后,我将animate() 调整到所需的比例(在本例中为0.8),如下所示:
transform: "s" + scale + "," + scale + trans
完成后,我animate() 回到原来的变换,缩放比例为1:
transform: trans
动画运行几次后,圆圈以较小的比例结束。 为什么?
编辑:
动画之间的延迟有意小于动画本身的长度。我的问题是如何使动画工作尽管。
【问题讨论】:
标签: javascript animation svg snap.svg