|
|
|
|
Bonjour,
Je recherche un script ,surement java , pour arriver a faire un peu comme sur la home d'aufeminin ( http://www.aufeminin.com )ou elleadore.com ( http://www.elleadore.com )
Je parle de la photo avec ses miniatures et qui change quand on les survol.
Si jamais vous avez des idées, n'hésitez pas
Merci d'avance
Loulou
Configuration: Windows Vista Firefox 3.0.4
Bonsoir Loulou !
Fichier index.html : <html> <head> <title>Test CCM</title> <script type="text/javascript" src="javascript.js"></script> <link rel="stylesheet" type="text/css" href="style.css"></link> </head> <body onLoad="init_bg();"> <img id="fond"> <img class="survol" src="http://www.fond-ecran-image.com/gif_anime_webmaster/bouton/bouton_37.gif" style="top: 50px;" onMouseOver="change_background(this);" onMouseOut="init_bg();"/> <img class="survol" src="http://www.jeunesvoix.net/boutons/bouton2+_off.gif" style="top: 150px;" onMouseOver="change_background(this);" onMouseOut="init_bg();"/> </body> </html> Fichier style.css : #fond { /*la taille de l'image trouvée sur google image*/ width: 800px; height: 537px; } Fichier javascript.js : var default_bg = 'http://cbb.mcgill.ca/parts/index-background.jpg'; function init_bg() { var bg = document.getElementById('fond'); bg.src = default_bg; } function change_background(img) { var bg = document.getElementById('fond'); bg.src = img.src; } Pour améliorer : il faut que pour chaque bouton survolé tu aies 2 images : une petite qui représente le bouton, et une plus grande qui sera l'image à afficher comme fond (ici j'étire simplement la petite image pour la mettre en tant que fond). Enfin, petit détail : c'est un script javascript, et non pas java. Java et javascript sont 2 langages totalement différents, donc il ne faut pas confondre :) N'hésite pas si tu as des questions. Cordialement, rtfm and jfgi
|
Bonsoir Loulou,
.survol {
/*pour que les boutons soient au dessus du fond*/
z-index: 1;
position: absolute;
left : 700px;
}
Bon, passons aux choses sérieuses maintenant... J'ai modifié légèrement le code pour qu'on ait une image de fond différente des boutons (l'idéal c'est de découper une petite partie de l'image de fond que tu souhaites pour la mettre sur l'image du bouton, comme sur le site que tu mentionnes). index.html : <html> <head> <title>Test CCM</title> <script type="text/javascript" src="javascript.js"></script> <link rel="stylesheet" type="text/css" href="style.css"></link> </head> <body onLoad="init_bg(); preloadImg();"> <img id="fond"> <img id="bouton1" class="survol" src="http://www.fond-ecran-image.com/gif_anime_webmaster/bouton/bouton_37.gif" style="top: 50px;" onMouseOver="change_background(this);" onMouseOut="init_bg();"/> <img id="bouton2" class="survol" src="http://www.jeunesvoix.net/boutons/bouton2+_off.gif" style="top: 150px;" onMouseOver="change_background(this);" onMouseOut="init_bg();"/> </body> </html> style.css : #fond { /*la taille de l'image trouvée sur google image*/ width: 800px; height: 537px; } .survol { /*pour que les boutons soient au dessus du fond*/ z-index: 1; position: absolute; left : 700px; } javascript.js : var default_bg = 'http://cbb.mcgill.ca/parts/index-background.jpg'; //tableau contenant les correspondances fond/id de l'icone var tab = new Array(); tab[0] = new Array("bouton1", "http://hi5.bigoo.ws/content/layout/fantasy/fantasy_17.jpg"); tab[1] = new Array("bouton2", "http://hi5.bigoo.ws/content/layout/fantasy/fantasy_18.jpg"); var preload = new Array(); function init_bg() { var bg = document.getElementById('fond'); bg.src = default_bg; } function change_background(img) { var bg = document.getElementById('fond'); bg.src = preload[img.id].src; } function preloadImg() { for (var i = 0; i < tab.length; i++) { var img = new Image(); img.src = tab[i][1]; preload[tab[i][0]] = img; } } Alors, c'est un peu plus compliqué maintenant. Tout d'abord, j'ai décidé de précharger les images, c'est-à-dire que quand tu vas charger ta page la première fois, les images dont tu auras besoin dans ton script vont être téléchargées de manière transparente. En effet, si on ne fait pas ça, elles ne seront pas téléchargées tout de suite, et quand tu vas survoler tes boutons, et bien tu vas attendre 3-4s (ça dépend de la taille des images) avant de voir apparaître le résultat (le temps de télécharger les images). C'est de l'optimisation. Donc en gros je crée un tableau (appelé preload) qui va contenir les images préchargées, associées aux identifiants des boutons qui les chargent. Pour créer ce tableau, tu as besoin de renseigner le tableau tab, qui contient une liste d'associations identifiant/url (par exemple ici, le bouton dont l'identifiant est "bouton1" va définir l'image dont l'url est "http://hi5.bigoo.ws/content/layout/fantasy/fantasy_17.jpg" comme fond). A toi maintenant de trouver des images de fond qui sont de la bonne taille, et de créer des boutons sympas. Note: Les images que j'ai défini dans cet exemple sont très lourdes, donc assez longues à charger. Cordialement, rtfm and jfgi |