我試圖創建一個動畫線,就好像它從一個點繪製到另一個。我已經設法將線條繪製到頁面上,但無法解決如何將它製作爲動畫,就好像它正在繪製一樣?從左到右動畫SVG線Snap.svg
https://jsfiddle.net/0sdt33dz/
function svgAnimate(){
var s = Snap('#svg');
var linePath = "M-3,148.6c0,0,43.9,7,49.4-17.2c3.5-15.3-9.4-19.7-17.3-13.8c-6,4.4-10,19,11.3,25.4 c24.9,7.5,70.7-31.2,91-61.8S233-41.5,286.3,29.2c0,0-60.7,35.5-24.9,87.9c36.2,53,83.5,15.6,83.5,15.6s19.3,19.5,68.4,17.1";
var lineLength = Snap.path.getTotalLength(linePath);
var lineDraw = s.path(linePath);
lineDraw.attr({
fill:'none',
stroke:'#009FE3',
'stroke-width' :6,
'stroke-linecap' :'round',
'stroke-linejoin' :'round',
'stroke-miterlimit' :10
});
lineDraw.animate({
stroke : '#fff'
},3000, mina.easein)
console.log(lineLength);
}
svgAnimate();
現貨謝謝!你能解釋一下:lineLength +''+ lineLength是做什麼的? – Mark
設置了你想要的不同間距,因此你可以建立一個類似「10 5」(將重複的)或更復雜的例如「10 20 30 5 10 20」的dasharray線,指定空間和字符串破折號。 – Ian
@Ian謝謝;-) –