Bonjour,
j'essaye de faire afficher une grande photo en cliquant sur une vignette. Les 2 photos ne sont pas les mêmes. L'affichage doit se faire dans une div au préalable invisible (css display:none). Lorsque je clique sur la vignette, je change le css de la div en display:block.
Mon souci est que je n'arrive pas à récupérer la largeur et hauteur de ma div, pour la centrer ( enredefinissant son left et son top).
Petite précision, je passe par un champ <img> dans la div pour afficher la photo, et je modifie son src.
le code dans ma page html:
<div id="photo"><img src="" name="maphoto2" id="maphoto2" /></div>
et le css de la div:
1 2 3 4 5 6 7
|
#photo{
border:1px solid black;
z-index:1000;
display:none;
position:absolute;
} |
Voila le code actuel de la fonction javascript que j'apelle en cliquant sur la vignette:
1 2 3 4 5 6 7 8 9 10 11
| function affiche_image(image){
var cadre=document.getElementById('photo');
cadre.style.display='block';
document.images["maphoto2"].src=image;
var l=cadre.style.width;
var h=cadre.style.height;
var left=(screen.width-l)/2;
var top=(screen.height-h)/2;
cadre.style.left=left + "px";
cadre.style.top=top + "px";
} |
et là ça coince, l et h n'ont aucune valeur donc ma div se met en bas à droite de ma page.
est-ce que quelqu'un comprendrais pkoi par hasard??
merci d'avance
Partager