Liste déroulante avec scrolling 100% SVG
Nouvelle version compatible avec Firefox 1.5, Opera 9 et Batik 1.6
Objets SVG et script sont séparés
Le script est chargé au démarrage
Les objets SVG sont chargés à la demande et déchargés après utilisation.
Vous pouvez créer votre propre design et le sauver dans un fichier SVG ou SVGZ.
Pour utiliser cette liste déroulante vous
devez
1) charger le script avec
<script xlink:href="js/list_scroll.js"/>
gestion de la liste déroulante
<script xlink:href="js/opera.js"/>
emulation de getURL() et parseXML()
<script xlink:href="js/tools.js"/>
déplacement de la fenêtre
2) réserver une place à la fin avec
<g id="messages"
transform="translate(100,50)"></g> par exemple
3) mettre dans un groupe <defs> les gradients utilisés pour les boutons
4) appeler la liste déroulante avec
add_list_scroll("svg/list_scroll.svg","messages","Changer
la couleur\ndu rectangle\nChoisissez une
couleur",color.join("\n"), num);
dans l'ordre: fichier SVG des objets, nom du groupe, chaîne pour l'invite, chaîne
pour les éléments de la liste, nombre pour l'utilisation
5) créer une fonction pour utiliser le résultat du choix
function messages_use_list_scroll(result,num_choice,num_list)
{
if (!result)
return
switch(num_list)
{
case 0:
obj=svgdoc.getElementById("rect1");
obj.setAttribute("fill",color[num_choice]);
break;
..........
}
}
Contraintes
svgdoc doit être le nom de SVGDocument
nom
du groupe + "_use_list" le nom de la fonction
Dans le design SVG, cette fonction est appelée
quand vous fermez la fenêtre avec onclick="close_list(true)".
Quand la liste déroulante est fermée avec OK, l'indice de l'option choisie est
transmis, vous devez travailler avec des tableaux pour les éléments de la
liste.
La fonction list_tape permet d'utiliser les touches Enter et Escape pour fermer
la fenêtre.
Trois lignes de texte avec "invite0", "invite1",
"invite2" comme id.
Vous devez concerver les id des objets ou modifier le script.