2016-09-15 118 views
0

我一直在使用svg爲一些地圖路徑設置動畫,並且具有以下代碼。Loop svg路徑動畫

var paths = document.querySelectorAll('.path'); 

for (i = 0; i < paths.length; i++) { 

    var length = paths[i].getTotalLength(); 
    // Clear any previous transition 
    paths[i].style.transition = paths[i].style.WebkitTransition ='none'; 
    // Set up the starting positions 
    paths[i].style.strokeDasharray = length + ' ' + length; 
    paths[i].style.strokeDashoffset = length; 
    // Trigger a layout so styles are calculated & the browser 
    // picks up the starting position before animating 
    paths[i].getBoundingClientRect(); 
    // Define our transition 
    paths[i].style.transition = paths[i].style.WebkitTransition = 'stroke-dashoffset 7s ease-in-out'; 
    // Go! 
    paths[i].style.strokeDashoffset = '0'; 

} 

我想要動畫是無限的,以便它一旦完成就重新開始。

animation-iteration-count: infinite; 

我的CSS中,但似乎並沒有這樣的伎倆。

有人可以建議我怎麼會在js內做這個嗎?

還有一個在這裏codepen - 提前http://codepen.io/anon/pen/ozxyam

感謝。

Chris

+0

我在代碼中看不到任何jQuery。這是一個錯字嗎? –

+0

對不起,剛剛在jQuery中工作,所以在我的腦海中!它已被編輯。 – Cag91

回答