SVG animeren met vivus.js

Bij het openen van deze pagina verschijnt er een tekening van een paar vlinders en wat blaadjes. De tekening wordt lijntje voor lijntje getekend. Als je op de gerede tekening klikt wordt die weer opnieuw getekend.
Op deze bladzijde wordt uitgelegd hoe je dat doet.

Dit is een bewerking / vereenvoudiging van een workshop door Mark Shufflebottom, die ik heb gevonden in Webdesigner Magazine nr. 88 (juli 2016), pag. 46 e.v.
Dit blad wordt sinds eind november 2017 niet meer gemaakt.
Voor deze website is niet-essentiële code verwijderd. De code van het voorbeeld kun je downloaden om zelf te gebruiken.

Gebruik:

De code van het voorbeeld ziet er als volgt uit:
 
(Zet dit in de <HEAD>).

<style>
.Natuur {
  height:250px;
}
</style>
<script src="vivus.min.js"></script>

(Zet dit in de <BODY> op de plaats waar de geanimeerde tekening moet komen).

<div align="center">
<svg id="Natuur" class="Natuur" xmlns="http://www.w3.org/2000/svg"
    height="400" viewBox="0 0 363.59 224.88"
    onclick="nat.reset().play();">
  <path d="M380.85, ... ,90.12Z" transform="translate(-311.61 -84.96)"
    style="fill:none; stroke:#de3f26;
    stroke-linecap:round; stroke-linejoin:round; fill-rule:evenodd" />
  <path d="M626.49, ... ,3.63,0" transform="translate(-311.61 -84.96)"
    style="fill:none; stroke:#f7b818;
    stroke-linecap:round; stroke-linejoin:round; fill-rule:evenodd" />
  <path d="M360.49, ... ,174Z" transform="translate(-311.61 -84.96)"
    style="fill:none; stroke:#8d191b;
    stroke-linecap:round; stroke-linejoin:round; fill-rule:evenodd" />
  <path d="M665.08, ... ,195.09Z" transform="translate(-311.61 -84.96)"
    style="fill:none; stroke:#286c36; stroke-miterlimit:10" />
</svg>
</div>
<script>
var nat = new Vivus('Natuur', {
  type: 'oneByOne',
  duration: 350
});
</script>

Downloaden:
 
Druk op de knop: Download deze code  File: voorb336.zip, 5223 bytes.

Opmerking:
 
Een veel eenvoudiger manier om SVG te animeren vind je in het item SVG animeren met CSS.

 
terug

html-336; Laatste wijziging: 6 juli 2022