rollover sur plusieurs images avec mappage
Bonjour,
Préambule
- Tout d'abord, je ne connais quasi rien à l'utilisation de javascript.
- J'utilise, quand il le faut, les applications "TextWrangler" ou "Kompozer" pour introduire du codage html dans mon site.
- Depuis plusieurs jours, je lis tous les forums (javascript, css, ou html) pour trouver une aide à la création à mon projet. Mais je n'ai trouvé nulle part de solution qui y réponde de façon totalement compréhensive ou complète.
Je souhaite créer un trombinoscope pour une société comprenant 30 membres :
1. j'ai une image de base (exemple ici) qui comprend à l'orgine 30 petits portraits mis côte à côté (images tirées de différents contes de fées, dont les dimensions sont de 115 x 115 px).
2. j'ai créé 30 nouvelles images (exemple ici), à la même dimension que l'image de base, mais dont une des cases montre un des membres.
Mon souhait :
- j'aimerais que lorsque l'on déplace la souris sur l'une des cases de l'image de base, on voit apparaître le membre correspondant. (onmouseover / onmouseout). Puis que dès que l'on sort de l'image du membre on retombe sur l'image de base, et ainsi de suite pour toutes les autres cases que l'on survolerait.
Mes démarches :
- j'ai tenté de travailler avec gimp / filtre web, pour créer les différentes zones de la map. Mais la source du fichier gimp ne permet pas le rollover, mais simplement le fait de cliquer sur l'image.
- j'ai recherché un code javascript qui me permette (selon ce que j'ai lu dans divers forum) de précharger les images dans le cache du navigateur.
- j'ai collé des bouts de codes trouvés dans les tutoriels ou dans les forums d'entraide, mais je pense que j'ai pas mal d'erreurs que je ne comprends pas.
- j'ai essayé de suivre à la lettre certains tutoriels mais je n'arrive pas au résultat escompté (mon projet), car le résultat obtenu ne fonctionne souvent qu'avec une seule image de base et une seule image pour le "onmouseover".
Mes questions
- Quelqu'un peut-il m'indiquer le-s code-s qu'il faudrait utiliser pour mener à bout mon projet (ou m'indiquer s'il est complètement utopiste) ou les démarches, tutoriels à suivre pour y arriver ?
- Avez-vous besoin d'autres indications plus précises pour me répondre ?
Je vous remercie d'avance pour votre lecture et votre éventuelle aide !
En supplément à la question posée
Voici le code généré par Gimp :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <img src="http://www.xxx/gallery/portraits_trombi/trombinoscope.png" width="589" height="700" border="0" usemap="#map" />
<map name="map">
<area shape="rect" coords="1,1,115,111"
onmouseover="http://www.xxx/gallery/portraits_trombi/trombi_seb.png"
onmouseout="http://www.xxx/gallery/portraits_trombi/trombinoscope.png"
nohref="nohref" />
<area shape="rect" coords="115,1,234,111"
onmouseover="http://www.xxx/gallery/portraits_trombi/trombi_dom.png"
onmouseout="http://www.xxx/gallery/portraits_trombi/trombinoscope.png"
nohref="nohref" />
<area shape="rect" coords="235,2,351,110"
onmouseover="http://www.xxx/gallery/portraits_trombi/trombi_flo.png"
onmouseout="http://www.xxx/gallery/portraits_trombi/trombinoscope.png"
nohref="nohref" />
<area shape="rect" coords="353,0,466,111"
onmouseover="http://www.xxx/gallery/portraits_trombi/trombi_tophe.png"
onmouseout="http://www.xxx/gallery/portraits_trombi/trombinoscope.png"
nohref="nohref" />
</map> |
Merci beaucoup pour cette réponse
Un tout grand Merci pour la rapidité de la réponse, en premier lieu.
Et je vais tester ce que vous me proposez là.
Juste une question ou deux questions supplémentaires si j'ose, car je n'ai pas pour habitude d'aller farfouiller ou de changer quoique ce soit au niveau de la CSS.
Je travaille sur un site wordpress.
- la page "trombinoscope" sera un article indépendant
- faut-il donc crééer deux fichiers distincts (l'un en CSS et l'autre en HTML) ?
- si oui, où faut-il les placer exactement pour qu'on puisse y faire référence quand on visionne cet article ?
- ou alors peut-on, sur la page HTML de l'article, introduire le codage CSS (et à quel endroit exactement) ?
- au niveau des images que l'on va survoler, comment définit-on la zone réactive exacte ? (j'avais, dans un premier temps, créer une image pour chacun des portraits des membres et le reste de l'image de base en grisée). Dans l'exemple que vous me proposez, ça marche pour l'image tout en haut à gauche, mais qu'en sera-t-il pour la seconde image à droite ?
Merci d'avance.
code à insérer dans un site construit en Wordpress
Effectivement, le code proposé fonctionne merveilleusement bien sur une page html simple.
Mais en essayant de l'introduire dans un site monté en wordpress, je constate qu'il y a plusieurs problèmes d'affichage. :calim2:
Voici tout d'abord le code complet utilisé dans la page :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
| <!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>:hover style MAP</title>
<meta name="Author" content="NoSmoking">
<style>
html, body{
margin:0;
padding:0;
}
#conteneur{
position:relative;
margin:5em auto;
width:589px;
height:700px;
overflow:hidden;
cursor: pointer;
}
img{
display:block;
}
.fond{
position:absolute;
z-index:0;
left:0;
top:0;
}
.opaque{
position:relative;
float:left;
width:115px;
height:115px;
border:1px solid #DDF;
opacity:0.0;
z-index:10;
}
.opaque:hover{
opacity:1;
}
.opaque:hover ~ .fond{
opacity:0.3;
-webkit-filter: grayscale(1);
-moz-filter: grayscale(1);
-ms-filter: grayscale(1);
-o-filter: grayscale(1);
filter: grayscale(1);
}
</style>
<!--[if lt IE 9]>
<style>
.opaque{
filter:alpha(opacity=0);
}
.opaque:hover{
filter:alpha(opacity=100);
}
.opaque:hover ~ .fond{
filter:progid:DXImageTransform.Microsoft.BasicImage(grayScale=1, opacity=0.30);
}
</style>
<![endif]-->
</head>
<body>
<div id="conteneur">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/seb.png" alt="Sebastien - tromprette">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/dom.png" alt="Dominique - tromprette">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/flo.png" alt="Florian - grosse caisse">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/tophe.png" alt="Christophe - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/damien_w.png" alt="Damien - souzaphone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/vero.png" alt="Véronique - trompette">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/claude.png" alt="Claude - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/cyrille.png" alt="Cyrille - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/karin.png" alt="Karin - tromprette">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/heidi.png" alt="Heidi - tromprette">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/greg.png" alt="Gregoire - granit">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/sylvie.png" alt="Sylvie - trompette">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/norbi.png" alt="Norbert - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/pinto.png" alt="Augusto - grosse caisse">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/steph_c.png" alt="Stéphanie C - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/nicolas.png" alt="Nicolas - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/corinne.png" alt="Corinne - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/steph_j.png" alt="Stéphanie J - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/john.png" alt="Jonathan - batterie">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/damien_t.png" alt="Damien T - percu">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/fabrice_j.png" alt="Fabrice J - batterie">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/lionel.png" alt="Lionel - trombone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/dany.png" alt="Dany - granit">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/armo.png" alt="Armonie - batterie">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/fabrice_l.png" alt="Fabrice L - tromprette">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/valerie.png" alt="Valérie - lyre">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/alex.png" alt="Alexandra - trompette">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/david.png" alt="David - porte-drapeau">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/thierry.png" alt="Thierry - sousaphone">
<img class="opaque" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/emilie.png" alt="Emilie - grosse caisse">
<!-- l'image de fond en dernier -->
<img class="fond" src="http://www.tripet-clique.ch/wp/wp-content/gallery/portraits_trombi/trombinoscope.png" alt="les membres">
</div>
</body>
</html> |
et voici l'adresse de l'article sur lequel j'ai publié ce code :
http://www.tripet-clique.ch/wp/?p=790
Les problèmes qui apparaissent lorsque je publie l'article :
- Je ne sais pas si le code CSS de mon site pose un problème avec le code CSS intégré dans la page désirée.
- une partie du début du code disparaît (parfois, mais pas à tous les coups) lorsque je publie l'article, le visualise et qu'ensuite je retourne dans l'article pour le modifier, il s'agit des éléments suivants
Code:
1 2 3
| <!DOCTYPE html>
<html lang="fr">
<head> |
- parfois la page s'affiche simplement avec les vignettes au début, les unes sous les autres et l'image de fond tout en dessous. Parfois, l'image de fond est visible, mais lorsque l'on fait un survol sur les images, les vignettes se décalent légèrement de haut en bas lorsque l'on passe de gauche à droite.
- j'ai ajouté un "alt" de manière à ce que l'on puisse connaître le nom du membre en même temps qu'on survole sa photo, mais cela n'apparaît pas.
Merci d'avance de bien vouloir m'aiguiller dans cette démarche.