2012-03-01 57 views
0

使用JavaScript動態添加和動畫SVG中特定組中的文本,我遇到了一個非常麻煩的問題,這對我來說沒有任何意義。根據文檔,每個animate元素應該分別僅影響它們的直接父元素,在這種情況下,這是每個單獨的文本元素。問題是,假設我在0s創建一個動畫文本元素,另一個在1s創建,兩個動畫都持續2s。從1秒開始的那個將在其動畫的中途。然後,更糟的是,其後每個animate基本上都停留在他們的週期結束時。動畫所有開始和結束在同一時間?

我試過設置begin="indefinite"並用element.beginElement()開火,但是這會產生同樣的問題。我已經使用Chrome的元素檢查器檢查了結構,並且沒有任何問題 - 每個animate都在text之內,並且每個text都在g之內。

它爲什麼這樣做,我如何使每個animate獨特?

+0

請張貼一個完整的例子,e.g上jsfiddle.net。 – 2012-03-01 07:38:12

回答

0

後襬弄的LOT我設法找到通過計算時間之間的偏移非常波濤洶涌的變通方法文檔被加載時,並在創建animate元件時,設置begin屬性到該量1000

劃分
starttime=+new Date 
begin=(+new Date-starttime)/1000 

我仍然想要一個更好的解決方案,但是......有沒有更有效的方法使animate元素在創建時開始,而不是記錄和計算時間戳?至少我想使用wallclock(),因爲這樣可以節省波濤洶涌的計算量,但我無法實現這個目標。

編輯:我已經找到了更好的解決方案效果很好:SVG.getCurrentTime()

+0

如果您將問題發佈在小提琴上,它將有助於他人學習。 – rajkamal 2012-03-02 13:51:34

相關問題