我有一個圓圈。我想創建一個函數,將它從1縮放到0.8,然後回到1.我目前的工作方式是,但是當我連續多次調用它時,動畫會發生衝突,並且圓圈會以不同的方式結束(小)規模。Snap.svg動畫運行多次以不同的值結束
在做所有這些縮放的東西時,我希望圓圈保持在它的位置。另外,我希望縮放能夠在圓的中心使用錨點完成。目前情況如此。
看看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
動畫運行幾次後,圈內有一個小規模的結束。 爲什麼?
編輯:
延遲動畫之間比所述動畫本身的長度小有意。我的問題是如何使動畫工作儘管那。
我知道我正在重新啓動動畫完成之前。我在問,儘管如此,我還能如何運作。無論什麼時候播放,我都希望它總是以'1'的比例結束。 –
如果你拿我的代碼,並將'setInterval'的值改回200,你會看到它的比例爲1。 –
嗯,沒有注意到。然而,我現場使用的SVG不能被修改,所以我必須在''上進行變換_must_,這樣我才能使它以這種方式工作,並且最終以'1'結尾? I.E.我如何在保留初始轉換的同時使其工作? –