Possiamo creare un'animazione del percorso trovando il riquadro di delimitazione del percorso e il fare in questo modo.
se il percorso avendo qualche -rectangle clipping significa come quella qui sotto
<g id="container_svg_SeriesGroup_0" transform="translate(128.8,435)" clip-path="url(#container_svg_SeriesGroup_0_ClipRect)"><path id="container_svg_John_0" fill="none" stroke-dasharray="5,5" stroke-width="3" stroke="url(#container_svg_John0Gradient)" stroke-linecap="butt" stroke-linejoin="round" d="M 0 -17.25 L 21.7 -112.12499999999999 M 21.7 -112.12499999999999 L 43.4 -51.75 M 43.4 -51.75 L 86.8 -25.875 M 86.8 -25.875 L 108.5 -155.25 "/><defs><clipPath id="container_svg_SeriesGroup_0_ClipRect"><rect id="container_svg_SeriesGroup_0_ClipRect" x="0" y="-155.25" width="118.5" height="148" fill="white" stroke-width="1" stroke="transparent" style="display: inline-block; width: 118.5px;"/></clipPath></defs></g>
var box = $("#"+ path.id")[0].getBBox();
creare il rettangolo sulla base della scatola e il set di questo rettangolo come il clip-percorso nel percorso.
quindi aumentare la larghezza del rettangolo passo dopo passo in jquery.animate.
doAnimation: function() {
//cliprect is your clipped rectangle path.
$(clipRect).animate(
{ width: 1000},
{
duration: 2000,
step: function (now, fx) {
$(clipRect).attr("width", now);
}
});
},
funzione a gradini jquery.animate viene utilizzato per aumentare la larghezza del passo clip-rect per passo.
Grazie a Wout, cercherò di capire come farlo. Avete qualche suggerimento su dove iniziare? Ad esempio, sarebbe accettabile utilizzare i tag SMIL come nel primo collegamento della domanda? Ho intenzione di essere in grado di animare percorsi complessi importati con svg.import.js. –