<html> <head> <style type="text/css"> /** * Div simulant l'image agrandie */ .DivImage{ position:relative; width:640px; height:480px; overflow:hidden; margin:auto; border:1px solid black; } /** * Div simulant les images miniaturisées. */ .DivSmall{ width:128px; height:128px; overflow:hidden; position:relative; float:left; margin-left:5px; } /** * Div contenant les images miniaturisées. */ .DivSmallContent{ position:relative; width:740px; height:130px; overflow:hidden; margin:auto; border:1px solid black; } </style> <script type="text/javascript"> /** * Survol d'une div * Si la div contenant la couleur agrandie (id="divImage") n'est pas lockée, alors change la couleur du fond. * @param _obj objet survolé. */ function objOver(_obj){ // n'effectue le traitement que si la div agrandie n'est pas lockée. if (!document.getElementById("divImage").lockImage){ document.getElementById("divImage").style.backgroundColor = _obj.style.backgroundColor; } } /** * Sortie de d'une div * Si la div contenant la couleur agrandie (id="divImage") n'est pas lockée, alors réinitialise la couleur du fond. * @param _obj objet survolé. */ function objOut(_obj){ // n'effectue le traitement que si la div agrandie n'est pas lockée. if (!document.getElementById("divImage").lockImage){ document.getElementById("divImage").style.backgroundColor = "transparent"; } } /** * Traitement du click sur un objet. * affecte la couleur du fond à la div agrandie. * Renseigne l'attribut lockImage sur la div agrandie afin de ne plus traiter le survol/sortie d'objet. La couleur du fond sera lockée. * * @param _obj objet sur lequel on a cliqué. */ function objClick(_obj){ // change la couleur du fond. document.getElementById("divImage").style.backgroundColor = _obj.style.backgroundColor; // et lock le composant pour éviter les mouseover/mouseout intenpestif document.getElementById("divImage").lockImage = true; } </script> </head> <body> <div class="DivImage" id="divImage"></div> <div class="DivSmallContent"> <div class="DivSmall" style="background-color:red;" onmouseover="objOver(this)" onmouseout="objOut(this)" onclick="objClick(this)"></div> <div class="DivSmall" style="background-color:green;"onmouseover="objOver(this)"onmouseout="objOut(this)" onclick="objClick(this)"></div> <div class="DivSmall" style="background-color:blue;"onmouseover="objOver(this)" onmouseout="objOut(this)" onclick="objClick(this)"></div> <div class="DivSmall" style="background-color:yellow;"onmouseover="objOver(this)"onmouseout="objOut(this)" onclick="objClick(this)"></div> <div class="DivSmall" style="background-color:silver;"onmouseover="objOver(this)"onmouseout="objOut(this)" onclick="objClick(this)"></div> </div> </body> </html>
onmouseover
onclick
<div> <img id="image" src="../exemple.gif" alt="une legende a afficher"> </div>
document.getElementById('image').src = 'chemin_de_l'image_a_afficher';
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question