JQuery est remis en place...
[svganimation.git] / doc / page.md
index 663a7f9..33e08d5 100644 (file)
@@ -8,6 +8,12 @@
     var player = new Controle(anim);
     player.connect();
   }
+  function charge_anim2() {
+    var a = new Animation('anim2','../ellipsographe/svg/ellipsographe-',1,91);
+    a.loopOnload();
+    var b = new Controle(a);
+    b.connect();
+  }
   $(window).load(function() {
     anim = new Animation('XXXX','../ellipsographe/svg/ellipsographe-',1,91);
     anim.loopOnload();
@@ -35,8 +41,9 @@ JavaScript qui permettra de choisir quand l'animation se charge. Il
 s'agit
 d'éviter de charger toutes les animations présentes sur cette page,
 cela serait bien trop lourd.</p>
-<p>Nous présentons, dans la section XX, le code qui permet de charger
-l'animation sur demande.</p>
+<p>Nous présentons, dans la section <a
+href="#chargement-différé">Chargement différé</a>, le code qui permet de
+charger l'animation sur demande.</p>
 </div>
 
 ## Installation
@@ -58,7 +65,7 @@ animation dans une page HTML grâce à JavaScript.
 ### La famille d'images
 
 Les différentes images composant l'animation doivent se nommer avec un
-*prefixe* puis d'un nombre (indice), celui-ci pouvant être
+*prefixe* suivi d'un nombre (indice), celui-ci pouvant être
 formater de différente façons :
 
     monfichier-1.svg  monfichier-2.svg monfichier-3.svg ...
@@ -85,14 +92,15 @@ La librairie `SVGAnimation` définit le *prototype* javascript
 `Animation`. Pour l'utiliser il faut déclarer une balise HTML `div`
 avec un identifiant (`id`) unique. Choisissons pour l'exemple `XXXX`.
 À l'intérieur de ces balises, il
-faut :
+faut&#8239;:
+
 * une balise `img` contenant un image `svg` qui servira de vignette à
   l'animation;
 * une balise `div` avec l'identifiant `id="XXXX_message"` où `XXXX` est
   l'identifiant de la balise englobante. Dans cette balise *message*,
   on y met, si on le souhaite, un message à afficher avant le
-  chargement de l'animation.
-* une balise `div` avec l'identifiant `id="XXXX_boutons"`
+  chargement de l'animation;
+* une balise `div` avec l'identifiant `id="XXXX_boutons"`.
 
 
 En supposant que les images SVG se trouvent dans un répertoire nommé
@@ -109,7 +117,7 @@ En supposant que les images SVG se trouvent dans un répertoire nommé
 ### Côté JavaScript
 
 Une fois qu'on a la structure HTML présentée ci-dessus, il est
-nécessaire d'ajouter un peu de code JavaScript permettre à l'animation
+nécessaire d'ajouter un peu de code JavaScript pour permettre à l'animation
 de se jouer.
 
 #### Construire l'objet `Animation`
@@ -130,7 +138,7 @@ dernière.
 
 `anim.loopOnload()` permet le chargement de l'animation.
 
-Une fois celle-ci chargé, il faut en permettre la lecture qui se fait
+Une fois celle-ci chargée, il faut en permettre la lecture qui se fait
 grâce à un nouvel objet nommé `Controle`. Ce contrôle s'utilise en
 fait comme ceci :
 
@@ -187,7 +195,7 @@ $(window).load(function() {
 </div>
 ~~~~~~~
 
-dont le résultat est :
+dont l'affichage est :
 
 <div id="XXXX">
   <img src="../ellipsographe/svg/ellipsographe-1.svg" alt="animation1"/>
@@ -196,16 +204,68 @@ dont le résultat est :
 </div>
 
 
+#### Chargement différé
+
+On peut laisser le chargement d'une animation à la demande en créant une
+fonction Javascript.
+
+~~~~~~~ { .javascript }
+function charge_anim2() {
+  var a = new Animation('anim2','svg/ellipsographe-',1,91);
+  a.loopOnload();
+  var b = new Controle(a);
+  b.connect();
+}
+~~~~~~~
+
+Fonction qui sera liée à l'*événement* `onclick` d'un bouton proposant
+justement le chargement de l'animation...
+
+~~~~~~~ { .html }
+<div id="anim2"
+  style="margin:10px auto;padding:10px;width:354px;border:2px solid #AAA;border-radius:4px">
+ <img src="../ellipsographe/svg/ellipsographe-1.svg" alt="animation1" style="width:330px;height:240px"/>
+ <div class="message" id="anim2_message">Ellipsographe</div>
+ <div id="anim2_boutons"><button onclick="charge_anim2();">Charger l'animation</button></div>
+</div>
+~~~~~~~
 
-<div id="anim2"  style="margin:10px auto;padding:10px;width:350px;border:2px solid #AAA;border-radius:4px">
+Dans le même temps, le *style* des éléments englobants a été adapté.
+
+<div id="anim2"  style="margin:10px auto;padding:10px;width:354px;border:2px solid #AAA;border-radius:4px">
   <img src="../ellipsographe/svg/ellipsographe-1.svg" alt="animation1" style="width:330px;height:240px"/>
   <div class="message" id="anim2_message">Ellipsographe</div>
-  <div id="anim2_boutons"><button onclick="charge('anim2','../ellipsographe/svg/ellipsographe-',1,91);">Charger l'animation</button></div>
+  <div id="anim2_boutons"><button onclick="charge_anim2()">Charger l'animation</button></div>
 </div>
 
 
+
 ### Les paramètres
 
+L'objet `Animation` ne possède que deux propriétés configurables, autres
+que celles (4) qui lui sont passées en argument.
+
+&bull; **delai** *(valeur par défaut : 50)* &mdash; C'est la durée, en millisecondes, entre deux images.
+
+~~~{.javascript}
+var a = new Animation('anim','svg/pre',1,100);
+a.delai = 200;
+a.loopOnload();
+~~~
+Ceci fixera le défilement à 5 images/s. Un *player* comme ceux que nous vous proposons ci-dessus peut
+modifier cette valeur.
+
+&bull; **pad** *(valeur par défaut : 0)* &mdash; Ce paramètre n'a d'effet
+que s'il est supérieur ou égal à 2, il permet de fixer la longueur des
+index des images en complétant avec des 0.
+
+~~~{.javascript}
+var a = new Animation('anim','svg/pre',1,100);
+a.pad = 3;
+a.loopOnload();
+~~~
+Les images chargées seront, successivement, `svg/pre001.svg`, `svg/pre002.svg`, ..., `svg/pre100.svg`.
+
 ## Les *players*
 
 ### `SVGPlayerOne.js`

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.