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 103 104 105 106 107 108 109 110
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
// Variables globales
var
images=[],conteneur;
// Compatibilité du onclik sur les différents browser
function addEventSimple(obj,evt,fn){
if (obj.addEventListener)
obj.addEventListener(evt,fn,false);
else if (obj.attachEvent)
obj.attachEvent('on'+evt,fn);
}
// Gestionnaire d'évenement onclick des vignettes
function image_Show(event){
var thumb,img,balise_body;
// Déterminer quelle vignette a été cliquée
if(!event)event=window.event;
thumb=event.target||event.srcElement;
// On créé une nouvelle image
img=document.createElement('img');
// On récupère les attribut src alt & title de la vignette
img.src = thumb.src;
img.alt = thumb.alt;
img.title = thumb.title;
// On crée les propriété CSS
img.style.position = 'absolute';
img.style.width = '400px';
img.style.height = '400px';
img.style.marginLeft = '-200px'; //les marges -200 permettent de centrer l'image (1/2 de la taille)
img.style.marginTop = '-200px';
img.style.top = '50%';
img.style.left = '50%';
// On vide le conteneur...
while(conteneur.hasChildNodes())conteneur.removeChild(conteneur.lastChild);
// pour y ajouter l'image
conteneur.appendChild(img);
// On ajoute le conteneur dans le document
balise_body = document.getElementsByTagName('body')[0];
balise_body.appendChild(conteneur);
}
// Gestionnaire d'évenement onclick du conteneur
function image_Hide(){
// On vide le conteneur...
while(conteneur.hasChildNodes())conteneur.removeChild(conteneur.lastChild);
// On le supprime du document
conteneur.parentNode.removeChild(conteneur);
}
// Initialisation
function init(){
var
i,list=document.getElementsByTagName('img');
// Récupère un tableau de réferences des images avec un id commencant par image_sousmenu[i] (ou i commence à 0) dans images
if(list){
for(i=0;i<list.length;i++){
if(/^image_sousmenu[0-9]+$/.test(list[i].id))
images.push(list[i]);
}
}
if(images.length==0)return; // Pas d'image... Rien à faire.
// On créé le conteneur
conteneur = document.createElement('div');
conteneur.id = 'conteneur_image_img';
// On lui attribue les propriétés CSS
conteneur.style.zIndex = '95';
conteneur.style.position = 'absolute';
conteneur.style.top = '0px';
conteneur.style.left = '0px';
conteneur.style.width = '100%';
conteneur.style.height = '100%';
conteneur.style.backgroundImage = 'url(image/permanente/fond_translucide.png)';
// On lui ajoute le gestionnaire d'évenement onclick
addEventSimple(conteneur,'click',image_Hide);
// On parcourt le tableau des images trouvées afin de leur ajouter le gestionnaire d'évenement onclick
for(i in images){
images[i].style.cursor='pointer';
addEventSimple(images[i],'click',image_Show);
}
}
// Appel de la fonction init() une fois le document chargé
window.onload=init;
</script>
</head>
<body>
<div>
<img id="image_sousmenu0" src="img1.jpg" alt="Image 1" width="80" height="80" />
<img id="image_sousmenu1" src="img2.jpg" alt="Image 2" width="80" height="80" />
<img id="image_sousmenu2" src="img3.jpg" alt="Image 3" width="80" height="80" />
</div>
</body>
</html> |
Partager